Compare commits
No commits in common. "master" and "build-production" have entirely different histories.
master
...
build-prod
16
.drone.yml
|
@ -1,16 +0,0 @@
|
|||
kind: pipeline
|
||||
name: test
|
||||
|
||||
steps:
|
||||
- name: test
|
||||
image: colthreepv/node-chrome:8
|
||||
commands:
|
||||
- npm install
|
||||
- npm test
|
||||
resources:
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
|
@ -1,20 +0,0 @@
|
|||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.hbs]
|
||||
insert_final_newline = false
|
||||
|
||||
[*.{diff,md}]
|
||||
trim_trailing_whitespace = false
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
/**
|
||||
Ember CLI sends analytics information by default. The data is completely
|
||||
anonymous, but there are times when you might want to disable this behavior.
|
||||
|
||||
Setting `disableAnalytics` to true will prevent any data from being sent.
|
||||
*/
|
||||
"disableAnalytics": false
|
||||
}
|
14
.eslintrc.js
|
@ -1,14 +0,0 @@
|
|||
module.exports = {
|
||||
root: true,
|
||||
parserOptions: {
|
||||
ecmaVersion: 2017,
|
||||
sourceType: 'module'
|
||||
},
|
||||
extends: 'eslint:recommended',
|
||||
env: {
|
||||
browser: true
|
||||
},
|
||||
rules: {
|
||||
'no-console': 0
|
||||
}
|
||||
};
|
32
.jshintrc
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"predef": [
|
||||
"document",
|
||||
"window",
|
||||
"Promise"
|
||||
],
|
||||
"browser": true,
|
||||
"boss": true,
|
||||
"curly": true,
|
||||
"debug": false,
|
||||
"devel": true,
|
||||
"eqeqeq": true,
|
||||
"evil": true,
|
||||
"forin": false,
|
||||
"immed": false,
|
||||
"laxbreak": false,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": false,
|
||||
"nonew": false,
|
||||
"nomen": false,
|
||||
"onevar": false,
|
||||
"plusplus": false,
|
||||
"regexp": false,
|
||||
"undef": true,
|
||||
"sub": true,
|
||||
"strict": false,
|
||||
"white": false,
|
||||
"eqnull": true,
|
||||
"esversion": 6,
|
||||
"unused": true
|
||||
}
|
252
.scss-lint.yml
|
@ -1,252 +0,0 @@
|
|||
severity: warning
|
||||
|
||||
linters:
|
||||
BangFormat:
|
||||
enabled: true
|
||||
space_before_bang: true
|
||||
space_after_bang: false
|
||||
|
||||
BemDepth:
|
||||
enabled: false
|
||||
max_elements: 1
|
||||
|
||||
BorderZero:
|
||||
enabled: true
|
||||
convention: zero # or `none`
|
||||
|
||||
ChainedClasses:
|
||||
enabled: false
|
||||
|
||||
ColorKeyword:
|
||||
enabled: true
|
||||
|
||||
ColorVariable:
|
||||
enabled: false
|
||||
|
||||
Comment:
|
||||
enabled: true
|
||||
style: silent
|
||||
|
||||
DebugStatement:
|
||||
enabled: true
|
||||
|
||||
DeclarationOrder:
|
||||
enabled: true
|
||||
|
||||
DisableLinterReason:
|
||||
enabled: false
|
||||
|
||||
DuplicateProperty:
|
||||
enabled: true
|
||||
|
||||
ElsePlacement:
|
||||
enabled: true
|
||||
style: same_line # or 'new_line'
|
||||
|
||||
EmptyLineBetweenBlocks:
|
||||
enabled: false
|
||||
ignore_single_line_blocks: true
|
||||
|
||||
EmptyRule:
|
||||
enabled: true
|
||||
|
||||
ExtendDirective:
|
||||
enabled: false
|
||||
|
||||
FinalNewline:
|
||||
enabled: true
|
||||
present: true
|
||||
|
||||
HexLength:
|
||||
enabled: false
|
||||
style: short # or 'long'
|
||||
|
||||
HexNotation:
|
||||
enabled: true
|
||||
style: lowercase # or 'uppercase'
|
||||
|
||||
HexValidation:
|
||||
enabled: true
|
||||
|
||||
IdSelector:
|
||||
enabled: false
|
||||
|
||||
ImportantRule:
|
||||
enabled: true
|
||||
|
||||
ImportPath:
|
||||
enabled: true
|
||||
leading_underscore: false
|
||||
filename_extension: false
|
||||
|
||||
Indentation:
|
||||
enabled: true
|
||||
allow_non_nested_indentation: false
|
||||
character: space # or 'tab'
|
||||
width: 2
|
||||
|
||||
LeadingZero:
|
||||
enabled: false
|
||||
style: exclude_zero # or 'include_zero'
|
||||
|
||||
MergeableSelector:
|
||||
enabled: false
|
||||
force_nesting: true
|
||||
|
||||
NameFormat:
|
||||
enabled: true
|
||||
allow_leading_underscore: true
|
||||
convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern
|
||||
|
||||
NestingDepth:
|
||||
enabled: true
|
||||
max_depth: 7
|
||||
ignore_parent_selectors: false
|
||||
|
||||
PlaceholderInExtend:
|
||||
enabled: true
|
||||
|
||||
PrivateNamingConvention:
|
||||
enabled: false
|
||||
prefix: _
|
||||
|
||||
PropertyCount:
|
||||
enabled: false
|
||||
include_nested: false
|
||||
max_properties: 10
|
||||
|
||||
PropertySortOrder:
|
||||
enabled: false
|
||||
ignore_unspecified: false
|
||||
min_properties: 2
|
||||
separate_groups: false
|
||||
|
||||
PropertySpelling:
|
||||
enabled: true
|
||||
extra_properties: [
|
||||
'grid-template-columns',
|
||||
'grid-column-start'
|
||||
]
|
||||
disabled_properties: []
|
||||
|
||||
PropertyUnits:
|
||||
enabled: true
|
||||
global: [
|
||||
'ch', 'em', 'ex', 'rem', # Font-relative lengths
|
||||
'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
|
||||
'vh', 'vw', 'vmin', 'vmax', # Viewport-percentage lengths
|
||||
'fr', # Grid fractional lengths
|
||||
'deg', 'grad', 'rad', 'turn', # Angle
|
||||
'ms', 's', # Duration
|
||||
'Hz', 'kHz', # Frequency
|
||||
'dpi', 'dpcm', 'dppx', # Resolution
|
||||
'%'] # Other
|
||||
properties: {}
|
||||
|
||||
PseudoElement:
|
||||
enabled: true
|
||||
|
||||
QualifyingElement:
|
||||
enabled: false
|
||||
allow_element_with_attribute: false
|
||||
allow_element_with_class: false
|
||||
allow_element_with_id: false
|
||||
|
||||
SelectorDepth:
|
||||
enabled: true
|
||||
max_depth: 5
|
||||
|
||||
SelectorFormat:
|
||||
enabled: true
|
||||
convention: hyphenated_lowercase # or 'classic_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern
|
||||
|
||||
Shorthand:
|
||||
enabled: true
|
||||
allowed_shorthands: [1, 2, 3, 4]
|
||||
|
||||
SingleLinePerProperty:
|
||||
enabled: true
|
||||
allow_single_line_rule_sets: true
|
||||
|
||||
SingleLinePerSelector:
|
||||
enabled: false
|
||||
|
||||
SpaceAfterComma:
|
||||
enabled: true
|
||||
style: one_space # or 'no_space', or 'at_least_one_space'
|
||||
|
||||
SpaceAfterComment:
|
||||
enabled: false
|
||||
style: one_space # or 'no_space', or 'at_least_one_space'
|
||||
allow_empty_comments: true
|
||||
|
||||
SpaceAfterPropertyColon:
|
||||
enabled: true
|
||||
style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
|
||||
|
||||
SpaceAfterPropertyName:
|
||||
enabled: true
|
||||
|
||||
SpaceAfterVariableColon:
|
||||
enabled: false
|
||||
style: one_space # or 'no_space', 'at_least_one_space' or 'one_space_or_newline'
|
||||
|
||||
SpaceAfterVariableName:
|
||||
enabled: true
|
||||
|
||||
SpaceAroundOperator:
|
||||
enabled: true
|
||||
style: one_space # or 'at_least_one_space', or 'no_space'
|
||||
|
||||
SpaceBeforeBrace:
|
||||
enabled: false
|
||||
style: space # or 'new_line'
|
||||
allow_single_line_padding: false
|
||||
|
||||
SpaceBetweenParens:
|
||||
enabled: true
|
||||
spaces: 0
|
||||
|
||||
StringQuotes:
|
||||
enabled: true
|
||||
style: single_quotes # or double_quotes
|
||||
|
||||
TrailingSemicolon:
|
||||
enabled: true
|
||||
|
||||
TrailingWhitespace:
|
||||
enabled: true
|
||||
|
||||
TrailingZero:
|
||||
enabled: false
|
||||
|
||||
TransitionAll:
|
||||
enabled: false
|
||||
|
||||
UnnecessaryMantissa:
|
||||
enabled: true
|
||||
|
||||
UnnecessaryParentReference:
|
||||
enabled: true
|
||||
|
||||
UrlFormat:
|
||||
enabled: true
|
||||
|
||||
UrlQuotes:
|
||||
enabled: true
|
||||
|
||||
VariableForProperty:
|
||||
enabled: false
|
||||
properties: []
|
||||
|
||||
VendorPrefix:
|
||||
enabled: true
|
||||
identifier_list: base
|
||||
additional_identifiers: []
|
||||
excluded_identifiers: []
|
||||
|
||||
ZeroUnit:
|
||||
enabled: true
|
||||
|
||||
Compass::*:
|
||||
enabled: false
|
22
.travis.yml
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
language: node_js
|
||||
node_js:
|
||||
- "6"
|
||||
|
||||
sudo: false
|
||||
dist: trusty
|
||||
|
||||
addons:
|
||||
chrome: stable
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.npm
|
||||
|
||||
env:
|
||||
global:
|
||||
# See https://git.io/vdao3 for details.
|
||||
- JOBS=1
|
||||
|
||||
before_install:
|
||||
- npm config set spin false
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"ignore_dirs": ["tmp", "dist"]
|
||||
}
|
661
LICENSE
|
@ -1,661 +0,0 @@
|
|||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
inspektor
|
||||
Copyright (C) 2017 Sebastian Kippe
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
84
README.md
|
@ -1,84 +0,0 @@
|
|||
# RS Inspektor
|
||||
|
||||
Inspektor is a simple file browser for inspecting the contents of a
|
||||
[remoteStorage](https://remotestorage.io) account. It is intended for RS app
|
||||
developers and power users.
|
||||
|
||||
You're invited to contribute to this app and/or submit feedback to improve it. Please use the
|
||||
[RS Discourse forums](https://community.remotestorage.io/t/rs-inspektor-a-simple-remotestorage-file-browser/428)
|
||||
to post issues or ideas, and/or to request an account for gitea.kosmos.org
|
||||
if you want to submit pull requests directly to the upstream repository. You
|
||||
may also submit Git patches via [e-mail](mailto:raucao@kip.pe).
|
||||
|
||||
## Features
|
||||
|
||||
* [x] Connect RS accounts
|
||||
* [x] Traverse/inspect directories
|
||||
* [x] View document details
|
||||
* [x] Render images in details
|
||||
* [x] Render text content in details
|
||||
* [x] Render JSON content tree view (optional source view)
|
||||
* [x] Delete documents
|
||||
* [x] Edit JSON content in tree view
|
||||
* [x] Delete directories
|
||||
* [ ] Edit content source
|
||||
* [ ] Render other types of content (e.g. audio and video)
|
||||
* [ ] Copy/move documents
|
||||
* [ ] Copy/move directories (and enclosed files)
|
||||
* [ ] Loading indicator for any view change that loads remote data
|
||||
* [ ] Logo/icon
|
||||
* [ ] Layout/support for small screens
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need the following things properly installed on your computer.
|
||||
|
||||
* [Git](https://git-scm.com/)
|
||||
* [Node.js](https://nodejs.org/) (with NPM)
|
||||
* [Ember CLI](https://ember-cli.com/)
|
||||
* [Google Chrome](https://google.com/chrome/)
|
||||
|
||||
## Installation
|
||||
|
||||
* `git clone <repository-url>` this repository
|
||||
* `cd inspektor`
|
||||
* `npm install`
|
||||
|
||||
## Running / Development
|
||||
|
||||
* `ember serve`
|
||||
* Visit your app at [http://localhost:4200](http://localhost:4200).
|
||||
* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).
|
||||
|
||||
### Code Generators
|
||||
|
||||
Make use of the many generators for code, try `ember help generate` for more details
|
||||
|
||||
### Running Tests
|
||||
|
||||
* `ember test`
|
||||
* `ember test --server`
|
||||
|
||||
### Building
|
||||
|
||||
* `ember build` (development)
|
||||
* `ember build --environment production` (production)
|
||||
|
||||
### Deploying
|
||||
|
||||
With the 5apps remote added correctly (and push access to the GitLab repo),
|
||||
just run:
|
||||
|
||||
npm run deploy
|
||||
|
||||
If you want to deploy this from and to different repos, have a look at the
|
||||
`scripts` section in `package.json`, as well as `scripts/deploy.sh` for how it
|
||||
works.
|
||||
|
||||
## Further Reading / Useful Links
|
||||
|
||||
* [ember.js](https://emberjs.com/)
|
||||
* [ember-cli](https://ember-cli.com/)
|
||||
* Development Browser Extensions
|
||||
* [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
|
||||
* [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/)
|
14
app/app.js
|
@ -1,14 +0,0 @@
|
|||
import Application from '@ember/application';
|
||||
import Resolver from './resolver';
|
||||
import loadInitializers from 'ember-load-initializers';
|
||||
import config from './config/environment';
|
||||
|
||||
const App = Application.extend({
|
||||
modulePrefix: config.modulePrefix,
|
||||
podModulePrefix: config.podModulePrefix,
|
||||
Resolver
|
||||
});
|
||||
|
||||
loadInitializers(App, config.modulePrefix);
|
||||
|
||||
export default App;
|
|
@ -1,18 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
import { computed } from '@ember/object';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
classNames: ['account-info'],
|
||||
|
||||
userAddress: null,
|
||||
|
||||
username: computed('userAddress', function() {
|
||||
return this.get('userAddress').split('@')[0];
|
||||
}),
|
||||
|
||||
host: computed('userAddress', function() {
|
||||
return '@' + this.get('userAddress').split('@')[1];
|
||||
})
|
||||
|
||||
});
|
|
@ -1,4 +0,0 @@
|
|||
<span class="username">{{username}}</span>
|
||||
<br><span class="host">{{host}}</span>
|
||||
|
||||
{{#link-to "disconnect" class="disconnect"}}disconnect{{/link-to}}
|
|
@ -1,32 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
import EmberObject from '@ember/object';
|
||||
import { isEmpty } from '@ember/utils';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
tagName: 'nav',
|
||||
classNames: ['breadcrumb-nav'],
|
||||
|
||||
currentDirPath: null,
|
||||
|
||||
linkItems: function() {
|
||||
let currentDirPath = this.get('currentDirPath');
|
||||
if (isEmpty(currentDirPath)) { return []; }
|
||||
let linkItems = [];
|
||||
|
||||
let dirs = currentDirPath.split('/')
|
||||
.reject(i => isEmpty(i));
|
||||
|
||||
dirs.forEach(dirname => {
|
||||
let path = currentDirPath.match(`(.*${dirname})/`)[0];
|
||||
|
||||
linkItems.pushObject(EmberObject.create({
|
||||
name: dirname,
|
||||
path: path
|
||||
}));
|
||||
});
|
||||
|
||||
return linkItems;
|
||||
}.property('currentDirPath')
|
||||
|
||||
});
|
|
@ -1,4 +0,0 @@
|
|||
<span class="node">{{#link-to "index" (query-params path='/')}}Home{{/link-to}}</span>
|
||||
{{#each linkItems as |item|}}
|
||||
<span class="node">{{#link-to "index" (query-params path=item.path)}}{{item.name}}{{/link-to}}</span>
|
||||
{{/each}}
|
|
@ -1,7 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
categories: null
|
||||
|
||||
});
|
|
@ -1,9 +0,0 @@
|
|||
{{#if categories}}
|
||||
<nav>
|
||||
<ul>
|
||||
{{#each categories as |category|}}
|
||||
<li>{{#link-to "index" (query-params path=category.path)}}{{category.name}}{{/link-to}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</nav>
|
||||
{{/if}}
|
|
@ -1,17 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
classNames: ['directory-listing'],
|
||||
|
||||
items: null,
|
||||
|
||||
itemsSorted: function() {
|
||||
let items = this.get('items');
|
||||
|
||||
// folders first
|
||||
return items.reject(i => i.type !== 'folder')
|
||||
.concat(items.reject(i => i.type === 'folder'));
|
||||
}.property('items')
|
||||
|
||||
});
|
|
@ -1,22 +0,0 @@
|
|||
<ul class="listing">
|
||||
{{#each itemsSorted as |item|}}
|
||||
<li>
|
||||
{{#if item.isFolder}}
|
||||
{{#link-to "index" (query-params path=item.path)}}
|
||||
<span class="icon">{{item-icon type=item.type}}</span>
|
||||
<span class="name">{{item.name}}</span>
|
||||
<span class="size"></span>
|
||||
<span class="type">{{item.type}}</span>
|
||||
{{/link-to}}
|
||||
{{else}}
|
||||
<!-- TODO link to item -->
|
||||
{{#link-to "inspect" (query-params path=item.path)}}
|
||||
<span class="icon">{{item-icon type=item.type}}</span>
|
||||
<span class="name">{{item.name}}</span>
|
||||
<span class="size">{{human-file-size item.size}}</span>
|
||||
<span class="type">{{item.type}}</span>
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
|
@ -1,177 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { observer } from '@ember/object';
|
||||
import { alias, none, not } from '@ember/object/computed';
|
||||
import { scheduleOnce } from '@ember/runloop';
|
||||
import JSONTreeView from 'npm:json-tree-view';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
classNames: ['file-preview'],
|
||||
|
||||
fileLoaded: false,
|
||||
uploadingChanges: false,
|
||||
|
||||
showEditor: null,
|
||||
hideEditor: not('showEditor'),
|
||||
|
||||
fileContent: null,
|
||||
objectURL: null,
|
||||
metaData: null,
|
||||
isJSON: null,
|
||||
type: alias('metaData.type'),
|
||||
isBinary: alias('metaData.isBinary'),
|
||||
|
||||
isUnknownBinary: none('isImage', 'isAudio', 'isVideo'),
|
||||
|
||||
isImage: function() {
|
||||
return this.get('type').match(/^image\/.+$/);
|
||||
}.property('type'),
|
||||
|
||||
isAudio: function() {
|
||||
return this.get('type').match(/^audio\/.+$/);
|
||||
}.property('type'),
|
||||
|
||||
isVideo: function() {
|
||||
return this.get('type').match(/^video\/.+$/);
|
||||
}.property('type'),
|
||||
|
||||
isText: function() {
|
||||
return !this.get('isBinary');
|
||||
}.property('isBinary'),
|
||||
|
||||
loadFile: function() {
|
||||
let path = this.get('metaData.path');
|
||||
|
||||
if (this.get('isAudio') || this.get('isVideo')) {
|
||||
this.set('fileLoaded', true);
|
||||
this.set('objectURL', this.get('storage.client')
|
||||
.getItemURL(path));
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO don't fetch is size above certain limit
|
||||
|
||||
console.debug(`[file-preview] Loading file ${this.get('metaData.name')}`)
|
||||
this.get('storage.client').getFile(path).then(file => {
|
||||
if (this.get('isImage')) {
|
||||
let view = new window.Uint8Array(file.data);
|
||||
let blob = new window.Blob([view], { type: file.contentType });
|
||||
this.set('objectURL', window.URL.createObjectURL(blob));
|
||||
} else {
|
||||
this.set('fileContent', file.data);
|
||||
}
|
||||
|
||||
this.set('fileLoaded', true);
|
||||
});
|
||||
}.on('didInsertElement'),
|
||||
|
||||
onFileLoaded: observer('fileLoaded', function(){
|
||||
if (this.get('fileLoaded') && this.get('isJSON') && this.get('jsonShowTree')) {
|
||||
scheduleOnce('afterRender', this, 'renderJsonTree');
|
||||
}
|
||||
}),
|
||||
|
||||
onJsonViewChanged: observer('jsonShowTree', function(){
|
||||
if (this.get('fileLoaded') && this.get('isJSON') && this.get('jsonShowTree')) {
|
||||
scheduleOnce('afterRender', this, 'renderJsonTree');
|
||||
}
|
||||
}),
|
||||
|
||||
renderJsonTree () {
|
||||
let value = JSON.parse(this.get('fileContent'));
|
||||
|
||||
let view = new JSONTreeView('content', value);
|
||||
// this.attachJsonTreeEventHandlers(view);
|
||||
|
||||
const containerElement = document.getElementById('json-tree-view');
|
||||
containerElement.innerHTML = ''; // Throw away any existing treeviews
|
||||
containerElement.appendChild(view.dom);
|
||||
|
||||
window.jsonview = view;
|
||||
|
||||
view.expand(true);
|
||||
|
||||
view.withRootName = false;
|
||||
view.readonly = this.get('hideEditor');
|
||||
|
||||
this.set('jsonTreeView', view);
|
||||
},
|
||||
|
||||
attachJsonTreeEventHandlers (view) {
|
||||
view.on('change', function(self, key, oldValue, newValue){
|
||||
console.log('change', key, oldValue, '=>', newValue);
|
||||
});
|
||||
view.on('rename', function(self, key, oldName, newName) {
|
||||
console.log('rename', key, oldName, '=>', newName);
|
||||
});
|
||||
view.on('delete', function(self, key) {
|
||||
console.log('delete', key);
|
||||
});
|
||||
view.on('append', function(self, key, nameOrValue, newValue) {
|
||||
console.log('append', key, nameOrValue, '=>', newValue);
|
||||
});
|
||||
view.on('click', function(self, key, value) {
|
||||
console.log('click', key, '=', value);
|
||||
});
|
||||
view.on('expand', function(self, key, value) {
|
||||
console.log('expand', key, '=', value);
|
||||
});
|
||||
view.on('collapse', function(self, key, value) {
|
||||
console.log('collapse', key, '=', value);
|
||||
});
|
||||
view.on('refresh', function(self, key, value) {
|
||||
console.log('refresh', key, '=', value);
|
||||
});
|
||||
},
|
||||
|
||||
onShowEditor: observer('showEditor', function(){
|
||||
if (this.get('fileLoaded') && this.get('isJSON') && this.get('jsonShowTree')) {
|
||||
const showEditor = this.get('showEditor');
|
||||
|
||||
if (showEditor) {
|
||||
this.set('jsonTreeView.readonly', false);
|
||||
} else {
|
||||
this.set('jsonTreeView.readonly', true);
|
||||
this.renderJsonTree();
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
actions: {
|
||||
|
||||
saveChanges () {
|
||||
const path = this.get('metaData.path');
|
||||
|
||||
if (this.get('isJSON') && this.get('jsonShowTree')) {
|
||||
const content = JSON.stringify(this.get('jsonTreeView.value'));
|
||||
this.set('uploadingChanges', true);
|
||||
|
||||
this.get('storage.client')
|
||||
.storeFile('application/json', path, content)
|
||||
.then(etag => {
|
||||
this.setProperties({
|
||||
'metaData.etag': etag,
|
||||
fileContent: content,
|
||||
showEditor: false
|
||||
});
|
||||
}).catch(err => {
|
||||
alert('Failed to update the file. Check the console for more info.');
|
||||
console.error(err);
|
||||
}).finally(() => {
|
||||
this.set('uploadingChanges', false);
|
||||
});
|
||||
} else {
|
||||
console.warn('not implemented');
|
||||
}
|
||||
},
|
||||
|
||||
cancelEditor () {
|
||||
this.set('showEditor', false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
|
@ -1,43 +0,0 @@
|
|||
{{#if fileLoaded}}
|
||||
{{#if isBinary}}
|
||||
{{#if isUnkownBinary}}
|
||||
<p>No preview available for this content type.</p>
|
||||
{{/if}}
|
||||
{{#if isImage}}
|
||||
<img src={{objectURL}} alt={{metaData.name}}>
|
||||
{{/if}}
|
||||
{{#if isAudio}}
|
||||
<audio src={{objectURL}} controls />
|
||||
{{/if}}
|
||||
{{#if isVideo}}
|
||||
<video src={{objectURL}} controls />
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isText}}
|
||||
{{#if isJSON}}
|
||||
{{#if jsonShowTree}}
|
||||
<div id="json-tree-view"></div>
|
||||
{{else}}
|
||||
<code>{{fileContent}}</code>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<code>{{fileContent}}</code>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showEditor}}
|
||||
<div class="actions">
|
||||
<button {{action "saveChanges"}}
|
||||
disabled={{uploadingChanges}}
|
||||
class="primary">
|
||||
Save changes
|
||||
</button>
|
||||
<button {{action "cancelEditor"}}
|
||||
disabled={{uploadingChanges}}
|
||||
class="secondary">
|
||||
Cancel editing
|
||||
</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
|
@ -1,33 +0,0 @@
|
|||
import Component from '@ember/component';
|
||||
|
||||
export default Component.extend({
|
||||
|
||||
tagName: 'img',
|
||||
classNames: ['item-icon'],
|
||||
attributeBindings: ['src:src'],
|
||||
|
||||
type: null,
|
||||
|
||||
isFolder: function() {
|
||||
return this.get('type') === 'folder';
|
||||
}.property('type'),
|
||||
|
||||
src: function() {
|
||||
let prefix = '/img/file-icons/';
|
||||
let type = this.get('type');
|
||||
let filename;
|
||||
|
||||
if (this.get('isFolder')) {
|
||||
filename = 'folder.svg';
|
||||
} else {
|
||||
if (type.match(/json/i)) {
|
||||
filename = 'code-curly.svg';
|
||||
} else {
|
||||
filename = 'file.svg';
|
||||
}
|
||||
}
|
||||
|
||||
return prefix + filename;
|
||||
}.property()
|
||||
|
||||
});
|
|
@ -1,48 +0,0 @@
|
|||
import Controller from '@ember/controller';
|
||||
import EmberObject from '@ember/object';
|
||||
import { computed, observer } from '@ember/object';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { alias } from '@ember/object/computed';
|
||||
import { isEmpty } from '@ember/utils';
|
||||
|
||||
export default Controller.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
connecting: alias('storage.connecting'),
|
||||
connected: alias('storage.connected'),
|
||||
userAddress: alias('storage.userAddress'),
|
||||
rootListing: alias('storage.rootListing'),
|
||||
currentDirPath: null,
|
||||
|
||||
connectedClass: computed('connected', function() {
|
||||
return this.get('connected') ? 'connected' : 'disconnected';
|
||||
}),
|
||||
|
||||
categories: function() {
|
||||
let categories = [];
|
||||
let rootListing = this.get('rootListing');
|
||||
if (isEmpty(rootListing)) { return categories; }
|
||||
|
||||
rootListing.forEach(item => {
|
||||
if (!item.isFolder) { return; }
|
||||
|
||||
categories.push(EmberObject.create({
|
||||
name: item.name.replace('/', ''),
|
||||
type: item.type,
|
||||
path: item.name
|
||||
}));
|
||||
});
|
||||
|
||||
return categories;
|
||||
}.property('rootListing'),
|
||||
|
||||
connectedChange: observer('connected', function() {
|
||||
if (this.get('connected')) {
|
||||
// console.debug('connectedChange connected');
|
||||
} else {
|
||||
this.set('currentDirPath', null);
|
||||
}
|
||||
}),
|
||||
|
||||
});
|
|
@ -1,87 +0,0 @@
|
|||
import Controller from '@ember/controller';
|
||||
import { inject as controller } from '@ember/controller';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { computed, observer } from '@ember/object';
|
||||
import { alias } from '@ember/object/computed';
|
||||
import { isPresent, isEmpty } from '@ember/utils';
|
||||
import { all } from 'rsvp';
|
||||
|
||||
export default Controller.extend({
|
||||
|
||||
application: controller(),
|
||||
storage: service(),
|
||||
|
||||
connected: alias('storage.connected'),
|
||||
rootListing: alias('storage.rootListing'),
|
||||
currentDirPath: alias('application.currentDirPath'),
|
||||
|
||||
queryParams: ['path'],
|
||||
|
||||
currentListing: function () {
|
||||
if (isPresent(this.get('model.currentListing'))) {
|
||||
return this.get('model.currentListing').sortBy('name');
|
||||
} else {
|
||||
return this.get('rootListing');
|
||||
}
|
||||
}.property('rootListing.[]', 'model.[]'),
|
||||
|
||||
documents: computed('currentListing.[]', function () {
|
||||
if (isEmpty(this.get('currentListing'))) { return []; }
|
||||
|
||||
return this.get('currentListing')
|
||||
.reject(item => item.path.substr(-1) === '/');
|
||||
}),
|
||||
|
||||
currentListingContainsDocuments: computed('documents.[]', function () {
|
||||
return isPresent(this.get('documents'));
|
||||
}),
|
||||
|
||||
documentCount: computed('documents.[]', function () {
|
||||
if (isPresent(this.get('documents'))) {
|
||||
return this.get('documents').length;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}),
|
||||
|
||||
parentDir: computed('currentDirPath', function () {
|
||||
const dirs = this.get('currentDirPath')
|
||||
.split('/')
|
||||
.reject(p => isEmpty(p));
|
||||
|
||||
return dirs.splice(0, dirs.length - 1).join('/') + '/';
|
||||
}),
|
||||
|
||||
connectedChange: observer('connected', function () {
|
||||
if (this.get('connected')) {
|
||||
// console.debug('connectedChange connected');
|
||||
} else {
|
||||
this.set('model', null);
|
||||
this.set('path', null);
|
||||
}
|
||||
}),
|
||||
|
||||
actions: {
|
||||
|
||||
deleteDocuments () {
|
||||
const documentCount = this.get('documentCount');
|
||||
const msg = `Delete all ${documentCount} documents/files in the current directory?`;
|
||||
if (! window.confirm(msg)) { return false; }
|
||||
|
||||
const client = this.get('storage.client');
|
||||
|
||||
let promises = this.get('documents').map(item => {
|
||||
console.debug('removing ' + item.path);
|
||||
return client.remove(item.path);
|
||||
});
|
||||
|
||||
all(promises).then(() => {
|
||||
this.transitionToRoute('index', {
|
||||
queryParams: { path: this.get('parentDir') }
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
|
@ -1,83 +0,0 @@
|
|||
import Controller from '@ember/controller';
|
||||
import { inject as controller } from '@ember/controller';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { computed } from '@ember/object';
|
||||
import { alias } from '@ember/object/computed';
|
||||
import { isEmpty } from '@ember/utils';
|
||||
|
||||
export default Controller.extend({
|
||||
|
||||
application: controller(),
|
||||
storage: service(),
|
||||
|
||||
currentDirPath: alias('application.currentDirPath'),
|
||||
|
||||
queryParams: ['path'],
|
||||
|
||||
// documentIsEditable: computed.not('model.documentMetaData.isBinary'),
|
||||
documentIsEditable: alias('documentIsJSON'),
|
||||
|
||||
documentShowEditor: false,
|
||||
documentHideEditor: computed.not('documentShowEditor'),
|
||||
|
||||
documentIsJSON: computed('model.documentMetaData.type', function(){
|
||||
if (isEmpty(this.get('model.documentMetaData'))) { return false; }
|
||||
|
||||
return !!this.get('model.documentMetaData.type').match(/application\/json/i);
|
||||
}),
|
||||
|
||||
jsonView: 'tree',
|
||||
jsonShowTree: computed.equal('jsonView', 'tree'),
|
||||
jsonShowSource: computed.equal('jsonView', 'source'),
|
||||
|
||||
publicItemURL: computed('model.documentMetaData.path', function(){
|
||||
let path = this.get('model.documentMetaData.path');
|
||||
|
||||
if (path.match(/public\//)) {
|
||||
return this.get('storage.client').getItemURL(path);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}),
|
||||
|
||||
metadataHidden: false,
|
||||
|
||||
actions: {
|
||||
|
||||
showJsonTree () {
|
||||
this.set('jsonView', 'tree');
|
||||
},
|
||||
|
||||
showJsonSource () {
|
||||
this.set('jsonView', 'source');
|
||||
},
|
||||
|
||||
showEditor () {
|
||||
this.set('documentShowEditor', true);
|
||||
},
|
||||
|
||||
cancelEditor () {
|
||||
this.set('documentShowEditor', false);
|
||||
// TODO remove changes from tree/source
|
||||
},
|
||||
|
||||
toggleMetadata () {
|
||||
this.toggleProperty('metadataHidden');
|
||||
},
|
||||
|
||||
deleteItem () {
|
||||
if (window.confirm('Delete?')) {
|
||||
this.get('storage.client')
|
||||
.remove(this.get('path')).then(() => {
|
||||
this.transitionToRoute('index', {
|
||||
queryParams: {
|
||||
path: this.get('currentDirPath')
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
|
@ -1,16 +0,0 @@
|
|||
import { helper } from '@ember/component/helper';
|
||||
|
||||
export default helper(function(fileSizeInBytes/*, options*/) {
|
||||
if (fileSizeInBytes < 1024) {
|
||||
return `${fileSizeInBytes} bytes`;
|
||||
}
|
||||
|
||||
var i = -1;
|
||||
var byteUnits = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
||||
do {
|
||||
fileSizeInBytes = fileSizeInBytes / 1024;
|
||||
i++;
|
||||
} while (fileSizeInBytes > 1024);
|
||||
|
||||
return String(Math.max(fileSizeInBytes, 0.1).toFixed(1) + ' ' +byteUnits[i]);
|
||||
});
|
|
@ -1,25 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>Inspektor</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
{{content-for "head"}}
|
||||
|
||||
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
|
||||
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/inspektor.css">
|
||||
|
||||
{{content-for "head-footer"}}
|
||||
</head>
|
||||
<body>
|
||||
{{content-for "body"}}
|
||||
|
||||
<script src="{{rootURL}}assets/vendor.js"></script>
|
||||
<script src="{{rootURL}}assets/inspektor.js"></script>
|
||||
|
||||
{{content-for "body-footer"}}
|
||||
</body>
|
||||
</html>
|
|
@ -1,3 +0,0 @@
|
|||
import Resolver from 'ember-resolver';
|
||||
|
||||
export default Resolver;
|
|
@ -1,15 +0,0 @@
|
|||
import EmberRouter from '@ember/routing/router';
|
||||
import config from './config/environment';
|
||||
|
||||
const Router = EmberRouter.extend({
|
||||
location: config.locationType,
|
||||
rootURL: config.rootURL
|
||||
});
|
||||
|
||||
Router.map(function() {
|
||||
this.route('inspect');
|
||||
this.route('connect');
|
||||
this.route('disconnect');
|
||||
});
|
||||
|
||||
export default Router;
|
|
@ -1,38 +0,0 @@
|
|||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
import BodyClassMixin from 'ember-body-class/mixins/body-class';
|
||||
|
||||
export default Route.extend(BodyClassMixin, {
|
||||
|
||||
storage: service(),
|
||||
|
||||
beforeModel () {
|
||||
this.get('storage.rs').on('error', (error) => {
|
||||
console.debug('rs.on error', error);
|
||||
if (error.name === 'Unauthorized') {
|
||||
this.handleUnauthorized();
|
||||
} else if (error.name === 'DiscoveryError') {
|
||||
// Do nothing, because the widget will handle it
|
||||
} else {
|
||||
alert('An unknown error occured. Please check the browser console for details.');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// We need to handle this here, so we can transitionTo
|
||||
// the connect route
|
||||
handleUnauthorized () {
|
||||
// Ignore additional unauthorized events after the
|
||||
// first one
|
||||
if (this.get('storage.unauthorized')) { return; }
|
||||
|
||||
this.get('storage').setProperties({
|
||||
unauthorized: true,
|
||||
connecting: false,
|
||||
connected: false
|
||||
});
|
||||
|
||||
this.transitionTo('connect');
|
||||
}
|
||||
|
||||
});
|
|
@ -1,33 +0,0 @@
|
|||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { later } from '@ember/runloop';
|
||||
import { Promise } from 'rsvp';
|
||||
|
||||
export default Route.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
beforeModel() {
|
||||
return this.waitForConnectionState().then(() => {
|
||||
if (this.get('storage.connected')) {
|
||||
this.transitionTo('index');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
waitForConnectionState() {
|
||||
let self = this;
|
||||
|
||||
return new Promise(resolve => {
|
||||
function checkConnectingDone() {
|
||||
if (self.get('storage.connecting')) {
|
||||
later(checkConnectingDone, 20);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
checkConnectingDone();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
|
@ -1,13 +0,0 @@
|
|||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
export default Route.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
beforeModel() {
|
||||
this.get('storage.rs').disconnect();
|
||||
this.transitionTo('connect');
|
||||
}
|
||||
|
||||
});
|
|
@ -1,71 +0,0 @@
|
|||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { isEmpty, isPresent } from '@ember/utils';
|
||||
import { later } from '@ember/runloop';
|
||||
import { hash, Promise } from 'rsvp';
|
||||
|
||||
export default Route.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
queryParams: {
|
||||
path: {
|
||||
refreshModel: true
|
||||
}
|
||||
},
|
||||
|
||||
beforeModel() {
|
||||
return this.waitForConnectionState().then(() => {
|
||||
if (this.get('storage.disconnected')) {
|
||||
this.transitionTo('connect');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
model(params) {
|
||||
let path = params.path;
|
||||
|
||||
if (isEmpty(params.path)) { return null; }
|
||||
|
||||
if (path.substr(-1) !== '/') { path += '/'; }
|
||||
|
||||
return hash({
|
||||
currentListing: this.get('storage').fetchListing(path),
|
||||
currentDirPath: path
|
||||
});
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
this._super(controller, model);
|
||||
|
||||
if (isEmpty(this.get('storage.categories')) && this.get('storage.connected')) {
|
||||
this.get('storage').fetchRootListing();
|
||||
}
|
||||
|
||||
if (isPresent(model)) {
|
||||
controller.set('currentDirPath', model.currentDirPath);
|
||||
|
||||
if (isEmpty(model.currentListing)) {
|
||||
this.transitionTo('index', {
|
||||
queryParams: { path: controller.get('parentDir') }
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
waitForConnectionState() {
|
||||
let self = this;
|
||||
|
||||
return new Promise(resolve => {
|
||||
function checkConnectingDone() {
|
||||
if (self.get('storage.connecting')) {
|
||||
later(checkConnectingDone, 20);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
checkConnectingDone();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
|
@ -1,55 +0,0 @@
|
|||
import Route from '@ember/routing/route';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { isEmpty, isPresent } from '@ember/utils';
|
||||
|
||||
export default Route.extend({
|
||||
|
||||
storage: service(),
|
||||
|
||||
queryParams: {
|
||||
path: {
|
||||
refreshModel: true
|
||||
}
|
||||
},
|
||||
|
||||
model(params) {
|
||||
let path = params.path;
|
||||
|
||||
if (isEmpty(params.path)) {
|
||||
// TODO redirect to root
|
||||
}
|
||||
if (path.substr(-1) === '/') {
|
||||
// TODO redirect to parent dir
|
||||
}
|
||||
|
||||
let parentDirPath = path.match(/^(.*\/).+$/)[1];
|
||||
let documentName = path.match(/^.*\/(.+)$/)[1];
|
||||
|
||||
// FIXME do a HEAD request instead of fetching parent listing
|
||||
return this.get('storage').fetchListing(parentDirPath).then(listing => {
|
||||
let metaData = listing.findBy('name', documentName);
|
||||
return metaData;
|
||||
}).then(metaData => {
|
||||
return {
|
||||
documentMetaData: metaData,
|
||||
// documentPublicURL: this.get()
|
||||
currentDirPath: parentDirPath,
|
||||
};
|
||||
});
|
||||
},
|
||||
|
||||
setupController(controller, model) {
|
||||
this._super(controller, model);
|
||||
|
||||
if (isEmpty(this.get('storage.categories')) && this.get('storage.connected')) {
|
||||
this.get('storage').fetchRootListing();
|
||||
}
|
||||
|
||||
if (isPresent(model)) {
|
||||
controller.set('currentDirPath', model.currentDirPath);
|
||||
}
|
||||
|
||||
controller.set('documentShowEditor', false);
|
||||
}
|
||||
|
||||
});
|
|
@ -1,132 +0,0 @@
|
|||
import EmberObject from '@ember/object';
|
||||
import Service from '@ember/service';
|
||||
import { computed, observer } from '@ember/object';
|
||||
import { isEmpty } from '@ember/utils';
|
||||
import RemoteStorage from 'npm:remotestoragejs';
|
||||
import Widget from 'npm:remotestorage-widget';
|
||||
import simpleContentType from 'inspektor/utils/simple-content-type';
|
||||
|
||||
export default Service.extend({
|
||||
|
||||
rs: null,
|
||||
widget: null,
|
||||
connecting: true,
|
||||
connected: false,
|
||||
unauthorized: false,
|
||||
userAddress: null,
|
||||
disconnected: computed.not('connected'),
|
||||
client: null,
|
||||
rootListing: null,
|
||||
|
||||
setup: function() {
|
||||
const rs = new RemoteStorage({
|
||||
cache: false
|
||||
});
|
||||
|
||||
rs.access.claim('*', 'rw');
|
||||
|
||||
// rs.setApiKeys({
|
||||
// dropbox: config.dropboxAppKey,
|
||||
// googledrive: config.gdriveClientId
|
||||
// });
|
||||
|
||||
const widget = new Widget(rs, {
|
||||
skipInitial: true
|
||||
});
|
||||
|
||||
// Attach widget to DOM
|
||||
widget.attach();
|
||||
|
||||
rs.on('ready', () => {
|
||||
console.debug('rs.on ready');
|
||||
// this.set('connecting', false);
|
||||
});
|
||||
|
||||
rs.on('connected', () => {
|
||||
console.debug('rs.on connected');
|
||||
this.set('connecting', false);
|
||||
this.set('connected', true);
|
||||
this.set('userAddress', this.get('rs').remote.userAddress);
|
||||
});
|
||||
|
||||
rs.on('not-connected', () => {
|
||||
console.debug('rs.on not-connected');
|
||||
this.set('connecting', false);
|
||||
this.set('connected', false);
|
||||
});
|
||||
|
||||
rs.on('disconnected', () => {
|
||||
console.debug('rs.on disconnected');
|
||||
this.set('connecting', false);
|
||||
this.set('connected', false);
|
||||
});
|
||||
|
||||
rs.on('connecting', () => {
|
||||
console.debug('rs.on connecting');
|
||||
this.set('connecting', true);
|
||||
this.set('connected', false);
|
||||
});
|
||||
|
||||
rs.on('authing', () => {
|
||||
console.debug('rs.on authing');
|
||||
this.set('connecting', true);
|
||||
this.set('connected', false);
|
||||
});
|
||||
|
||||
this.set('rs', rs);
|
||||
this.set('widget', widget);
|
||||
this.set('client', rs.scope('/'));
|
||||
}.on('init'),
|
||||
|
||||
connectedChange: observer('connected', function() {
|
||||
if (this.get('connected')) {
|
||||
this.fetchRootListing();
|
||||
} else {
|
||||
this.clearLocalData();
|
||||
}
|
||||
}),
|
||||
|
||||
clearLocalData() {
|
||||
this.setProperties({
|
||||
userAddress: null,
|
||||
rootListing: null
|
||||
});
|
||||
},
|
||||
|
||||
fetchRootListing() {
|
||||
this.fetchListing('').then(items => {
|
||||
this.set('rootListing', items.sortBy('name'));
|
||||
});
|
||||
},
|
||||
|
||||
fetchListing(path) {
|
||||
let items = [];
|
||||
|
||||
return this.get('client').getListing(path).then(listing => {
|
||||
if (isEmpty(listing)) { return []; }
|
||||
|
||||
Object.keys(listing).forEach(name => {
|
||||
let item = listing[name];
|
||||
let type = item['Content-Type'] || 'folder';
|
||||
let isBinary = false;
|
||||
if (type !== 'folder') {
|
||||
isBinary = !!type.match(/charset=binary/);
|
||||
type = simpleContentType(type);
|
||||
}
|
||||
|
||||
items.push(EmberObject.create({
|
||||
name: name,
|
||||
type: type,
|
||||
isBinary: isBinary,
|
||||
isFolder: type === 'folder',
|
||||
size: item['Content-Length'] || null,
|
||||
path: path + name,
|
||||
etag: item['ETag']
|
||||
}));
|
||||
});
|
||||
|
||||
return items;
|
||||
});
|
||||
}
|
||||
|
||||
});
|
|
@ -1,138 +0,0 @@
|
|||
button {
|
||||
font-family: Open Sans, sans-serif;
|
||||
font-size: 1rem;
|
||||
color: #fff;
|
||||
background-color: $dark-blue;
|
||||
border: 1px solid $dark-blue;
|
||||
|
||||
&:hover, &:active {
|
||||
background-color: lighten($dark-blue, 5%);
|
||||
}
|
||||
|
||||
&.delete {
|
||||
background-color: transparent;
|
||||
border-color: $dark-red;
|
||||
color: $dark-red;
|
||||
svg { path { fill: $dark-red; }
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: $dark-red;
|
||||
color: #fff;
|
||||
svg { path { fill: #fff; } }
|
||||
}
|
||||
}
|
||||
|
||||
&.primary {
|
||||
// main button
|
||||
}
|
||||
|
||||
&.secondary {
|
||||
background-color: transparent;
|
||||
color: $dark-blue;
|
||||
|
||||
&:hover {
|
||||
background-color: $dark-blue;
|
||||
color: #fff;
|
||||
svg { path { fill: #fff; } }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
|
||||
button, a.button {
|
||||
display: inline-block;
|
||||
padding: 0.4rem 0 0.3rem;
|
||||
width: 3rem;
|
||||
border: 1px solid $dark-grey-2;
|
||||
border-radius: 0.2em;
|
||||
background-color: #fff;
|
||||
color: $dark-grey-2;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
|
||||
svg {
|
||||
height: 1rem;
|
||||
path { fill: $dark-grey-2; }
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: $dark-grey-2;
|
||||
color: #fff;
|
||||
|
||||
svg {
|
||||
path {
|
||||
fill: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled:not(.active),
|
||||
&:disabled:not(.active):hover {
|
||||
border-color: $dark-grey-3;
|
||||
background-color: #fff;
|
||||
color: $dark-grey-3;
|
||||
|
||||
svg {
|
||||
path {
|
||||
fill: $dark-grey-3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
border-color: lighten($dark-grey-2, 10%);
|
||||
background-color: lighten($dark-grey-2, 10%);
|
||||
color: lighten($dark-grey-2, 10%);
|
||||
|
||||
svg { path { fill: #fff; } }
|
||||
}
|
||||
}
|
||||
|
||||
button + button,
|
||||
button + .button,
|
||||
.button + .button,
|
||||
button + .button-group,
|
||||
.button + .button-group,
|
||||
.button-group + button,
|
||||
.button-group + .button-group {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.button-group {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
|
||||
button {
|
||||
position: relative;
|
||||
margin-right: 0;
|
||||
flex: 0 1 auto;
|
||||
|
||||
&:not(:last-child) {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
button + button {
|
||||
margin-left: -1px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
main section.content {
|
||||
button {
|
||||
font-size: 0.86rem;
|
||||
padding: 0.4rem 1rem;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
button + button {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
$dark-grey-1: #2a3743;
|
||||
$dark-grey-2: #344453;
|
||||
$dark-grey-3: #aaa;
|
||||
$light-grey-1: #b5c3d1;
|
||||
$light-grey-2: #ececec;
|
||||
$dark-red: #8b0000;
|
||||
$dark-blue: #0067c7;
|
||||
|
||||
body {
|
||||
background-color: #fff;
|
||||
transition: background-color 0.2s linear;
|
||||
}
|
||||
|
||||
#app-container {
|
||||
background-color: #fff;
|
||||
|
||||
> aside {
|
||||
background-color: $dark-grey-1;
|
||||
color: $light-grey-1;
|
||||
|
||||
a {
|
||||
color: $light-grey-1;
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> main {
|
||||
background-color: #fff;
|
||||
|
||||
> header {
|
||||
a:link,
|
||||
a:visited {
|
||||
color: $dark-grey-3;
|
||||
}
|
||||
a:hover {
|
||||
color: $dark-grey-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.disconnected main {
|
||||
background-color: $light-grey-2;
|
||||
}
|
||||
}
|
|
@ -1,128 +0,0 @@
|
|||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#remotestorage-widget {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 20%;
|
||||
left: 50%;
|
||||
margin-left: -200px;
|
||||
z-index: 23;
|
||||
}
|
||||
|
||||
.connect #remotestorage-widget {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// .index #remotestorage-widget {
|
||||
// position: fixed;
|
||||
// top: 1rem;
|
||||
// right: 3rem;
|
||||
// }
|
||||
|
||||
#app-container {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: stretch;
|
||||
|
||||
&.disconnected {
|
||||
> aside {
|
||||
flex: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
&.connected {
|
||||
> aside {
|
||||
flex: 0 0 16rem;
|
||||
overflow: auto;
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
> aside {
|
||||
transition: flex 0.2s ease-in;
|
||||
|
||||
.account-info {
|
||||
height: 5rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
> main {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
padding: 3rem 4rem;
|
||||
|
||||
> header {
|
||||
height: 4rem;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 1.618fr 3rem 1fr;
|
||||
|
||||
// nav.breadcrumb-nav {
|
||||
// }
|
||||
|
||||
nav.actions {
|
||||
grid-column-start: 3;
|
||||
text-align: right;
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.inspect-details {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 1.618fr 3rem 1fr;
|
||||
margin-bottom: 3rem;
|
||||
transition: all 0.3s ease-out;
|
||||
|
||||
&.hide-metadata {
|
||||
grid-template-columns: 1.618fr 0 0;
|
||||
}
|
||||
|
||||
section {
|
||||
border-top: 1px solid $light-grey-2;
|
||||
padding: 1.5rem 1px;
|
||||
|
||||
&.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&.meta {
|
||||
grid-column-start: 3;
|
||||
overflow: hidden;
|
||||
|
||||
dl {
|
||||
margin: 0;
|
||||
|
||||
dt, dd {
|
||||
display: block;
|
||||
}
|
||||
dt {
|
||||
font-size: 0.76rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: $dark-grey-3;
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
dd {
|
||||
margin: 0 0 1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
* {
|
||||
-moz-outline: none;
|
||||
outline: none;
|
||||
}
|
||||
:focus { outline:none; }
|
||||
::-moz-focus-inner { border: 0; }
|
|
@ -1,29 +0,0 @@
|
|||
@import "bourbon";
|
||||
@import "resets";
|
||||
@import "colors";
|
||||
@import "layout";
|
||||
|
||||
html {
|
||||
font-family: Open Sans, sans-serif;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
font-size: 15px;
|
||||
font-family: Open Sans, sans-serif;
|
||||
color: $dark-grey-1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@import "buttons";
|
||||
|
||||
@import "components/account-info";
|
||||
@import "components/breadcrumb-nav";
|
||||
@import "components/categories-nav";
|
||||
@import "components/directory-listing";
|
||||
@import "components/file-preview";
|
||||
@import "components/item-icon";
|
||||
|
||||
@import "vendor/json-tree-view";
|
|
@ -1,28 +0,0 @@
|
|||
.account-info {
|
||||
position: relative;
|
||||
|
||||
.username {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.host {
|
||||
font-size: 0.8rem;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.disconnect {
|
||||
display: inline-block;
|
||||
margin-left: 0.5rem;
|
||||
font-size: 0.8rem;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.disconnect {
|
||||
font-size: 0.8rem;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
.breadcrumb-nav {
|
||||
|
||||
a {
|
||||
&.active {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.node {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.node + .node {
|
||||
margin-left: 0.5rem;
|
||||
|
||||
&::before {
|
||||
content: '›';
|
||||
padding-right: 0.6rem;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
#app-container {
|
||||
> aside {
|
||||
nav {
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
padding: 0.2rem 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
.directory-listing {
|
||||
|
||||
ul.listing {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
li {
|
||||
display: table;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid $light-grey-2;
|
||||
|
||||
&:first-of-type {
|
||||
border-top: 1px solid $light-grey-2;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
span {
|
||||
opacity: 0.7;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
display: table-row;
|
||||
text-decoration: none;
|
||||
color: $dark-grey-1;
|
||||
|
||||
span {
|
||||
display: table-cell;
|
||||
padding: 1rem 1.5rem;
|
||||
|
||||
&.icon {
|
||||
width: 3%;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
text-align: center;
|
||||
}
|
||||
&.name {
|
||||
width: 60%;
|
||||
}
|
||||
&.size {
|
||||
width: 10%;
|
||||
white-space: nowrap;
|
||||
color: $dark-grey-3;
|
||||
}
|
||||
&.type {
|
||||
width: 27%;
|
||||
white-space: nowrap;
|
||||
color: $dark-grey-3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
.file-preview {
|
||||
|
||||
code {
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
img, audio, video {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#json-tree-view {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.actions {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
ul.listing span.icon {
|
||||
img {
|
||||
height: 1.2rem;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
|
@ -1,149 +0,0 @@
|
|||
.jsonView{
|
||||
margin-left: 20px;
|
||||
font-family: Consolas, "Lucida Console", Menlo, "dejavu sans mono", monospace;
|
||||
font-size: 15px;
|
||||
line-height: 15px;
|
||||
padding: 2px;
|
||||
cursor: default;
|
||||
color: rgb(66, 66, 66);
|
||||
white-space: nowrap;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.jsonView>div{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.jsonView.hidden{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jsonView>.children, .jsonView.insert{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.jsonView>.name{
|
||||
color: rgb(136, 19, 145);
|
||||
}
|
||||
|
||||
.jsonView>.separator:before{
|
||||
content: ":";
|
||||
}
|
||||
|
||||
.jsonView>.separator{
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.jsonView>.spacing{
|
||||
display:inline-block;
|
||||
width:15px;
|
||||
}
|
||||
.jsonView>.spacing::before{
|
||||
content: '1';
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
.jsonView>.value.null, .jsonView>.value.undefined{
|
||||
color: rgb(128, 128, 128);
|
||||
}
|
||||
|
||||
.jsonView>.value.boolean, .jsonView>.value.number{
|
||||
color: rgb(28, 0, 207);
|
||||
}
|
||||
|
||||
.jsonView>.value.string:not(.edit):before, .jsonView>.value.string:not(.edit):after{
|
||||
content: "\"";
|
||||
}
|
||||
|
||||
.jsonView>.value.string {
|
||||
color: rgb(196, 26, 22);
|
||||
}
|
||||
|
||||
.jsonView>.name:hover, .jsonView>.value:hover{
|
||||
background-color: rgba(56, 121, 217, 0.1);
|
||||
}
|
||||
|
||||
.jsonView>.expand, .jsonView>.collapse{
|
||||
min-width: 20px;
|
||||
margin-left: -20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.jsonView>.expand:before{
|
||||
content: '\25B6';
|
||||
}
|
||||
|
||||
.jsonView>.collapse:before{
|
||||
content: '\25BC';
|
||||
}
|
||||
|
||||
.jsonView>.edit{
|
||||
padding: 0px 5px 0px 5px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.jsonView>.edit br{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jsonView>.edit *{
|
||||
display: inline;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.jsonView>.value.edit{
|
||||
color: rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
.jsonView>.delete:before{
|
||||
content: '+';
|
||||
transform: rotate(45deg);
|
||||
-webkit-transform: rotate(45deg);
|
||||
-o-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.jsonView>.delete{
|
||||
opacity: 0;
|
||||
display: inline;
|
||||
padding: 3px;
|
||||
cursor: pointer;
|
||||
color: rgb(150, 150, 150);
|
||||
}
|
||||
|
||||
.jsonView>.item:hover~.delete{
|
||||
opacity: 1;
|
||||
color: rgb(150, 150, 150);
|
||||
}
|
||||
.jsonView>.delete:hover{
|
||||
opacity: 1;
|
||||
color: rgb(0, 0, 0);
|
||||
background: rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.jsonView.readonly>.insert,.jsonView.readonly>.delete{
|
||||
display: none !important;
|
||||
}
|
||||
.jsonView>.insert:before{
|
||||
content: '+';
|
||||
}
|
||||
|
||||
.jsonView>.insert{
|
||||
display: none;
|
||||
color: rgb(150, 150, 150);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.jsonView.expanded>.insert, .jsonView.expanded>.insert{
|
||||
display: inline-block;
|
||||
margin-left: 20px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.jsonView>.insert:hover{
|
||||
color: rgb(0, 0, 0);
|
||||
background: rgb(220, 220, 220);
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
<div id="app-container" class={{connectedClass}}>
|
||||
<aside>
|
||||
{{#if connected}}
|
||||
{{account-info userAddress=userAddress}}
|
||||
{{categories-nav categories=categories}}
|
||||
{{/if}}
|
||||
</aside>
|
||||
<main>
|
||||
{{outlet}}
|
||||
</main>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
{{outlet}}
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M296 99.5l148.5 148c4.7 4.7 4.7 12.3 0 17L296 412.5c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17l116-115.4H76c-6.6 0-12-5.4-12-12v-10c0-6.6 5.4-12 12-12h311.9L272 123.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.6-4.7 12.2-4.7 16.9 0zM12 448h8c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-8C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12z"/></svg>
|
Before Width: | Height: | Size: 410 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M152 412.5L3.5 264.5c-4.7-4.7-4.7-12.3 0-17L152 99.5c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L60.1 239H372c6.6 0 12 5.4 12 12v10c0 6.6-5.4 12-12 12H60.1L176 388.4c4.7 4.7 4.7 12.3 0 17l-7.1 7.1c-4.6 4.7-12.2 4.7-16.9 0zM436 64h-8c-6.6 0-12 5.4-12 12v360c0 6.6 5.4 12 12 12h8c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12z"/></svg>
|
Before Width: | Height: | Size: 407 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M216 412.5l-148.5-148c-4.7-4.7-4.7-12.3 0-17L216 99.5c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L124.1 239H436c6.6 0 12 5.4 12 12v10c0 6.6-5.4 12-12 12H124.1L240 388.4c4.7 4.7 4.7 12.3 0 17l-7.1 7.1c-4.6 4.7-12.2 4.7-16.9 0zM12 448h8c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12h-8C5.4 64 0 69.4 0 76v360c0 6.6 5.4 12 12 12z"/></svg>
|
Before Width: | Height: | Size: 409 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M215 99.5l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l116 115.4H12c-6.6 0-12 5.4-12 12v10c0 6.6 5.4 12 12 12h311.9L208 388.4c-4.7 4.7-4.7 12.3 0 17l7.1 7.1c4.7 4.7 12.3 4.7 17 0l148.5-148c4.7-4.7 4.7-12.3 0-17L232 99.5c-4.7-4.7-12.3-4.7-17 0zM448 76v360c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12z"/></svg>
|
Before Width: | Height: | Size: 407 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM32 80c0-8.8 7.2-16 16-16h48v64H32V80zm448 352c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V160h448v272zm0-304H128V64h336c8.8 0 16 7.2 16 16v48z"/></svg>
|
Before Width: | Height: | Size: 326 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M228.5 511.8l-25-7.1c-3.2-.9-5-4.2-4.1-7.4L340.1 4.4c.9-3.2 4.2-5 7.4-4.1l25 7.1c3.2.9 5 4.2 4.1 7.4L235.9 507.6c-.9 3.2-4.3 5.1-7.4 4.2zm-75.6-125.3l18.5-20.9c1.9-2.1 1.6-5.3-.5-7.1L49.9 256l121-102.5c2.1-1.8 2.4-5 .5-7.1l-18.5-20.9c-1.8-2.1-5-2.3-7.1-.4L1.7 252.3c-2.3 2-2.3 5.5 0 7.5L145.8 387c2.1 1.8 5.3 1.6 7.1-.5zm277.3.4l144.1-127.2c2.3-2 2.3-5.5 0-7.5L430.2 125.1c-2.1-1.8-5.2-1.6-7.1.4l-18.5 20.9c-1.9 2.1-1.6 5.3.5 7.1l121 102.5-121 102.5c-2.1 1.8-2.4 5-.5 7.1l18.5 20.9c1.8 2.1 5 2.3 7.1.4z"/></svg>
|
Before Width: | Height: | Size: 582 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M417.8 315.5l20-20c3.8-3.8 10.2-1.1 10.2 4.2V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h292.3c5.3 0 8 6.5 4.2 10.2l-20 20c-1.1 1.1-2.7 1.8-4.2 1.8H48c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V319.7c0-1.6.6-3.1 1.8-4.2zm145.9-191.2L251.2 436.8l-99.9 11.1c-13.4 1.5-24.7-9.8-23.2-23.2l11.1-99.9L451.7 12.3c16.4-16.4 43-16.4 59.4 0l52.6 52.6c16.4 16.4 16.4 43 0 59.4zm-93.6 48.4L403.4 106 169.8 339.5l-8.3 75.1 75.1-8.3 233.5-233.6zm71-85.2l-52.6-52.6c-3.8-3.8-10.2-4-14.1 0L426 83.3l66.7 66.7 48.4-48.4c3.9-3.8 3.9-10.2 0-14.1z"/></svg>
|
Before Width: | Height: | Size: 661 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M569.354 231.631C512.969 135.948 407.808 72 288 72 168.14 72 63.004 135.994 6.646 231.63a47.999 47.999 0 0 0 0 48.739C63.032 376.053 168.192 440 288 440c119.86 0 224.996-63.994 281.354-159.631a48.002 48.002 0 0 0 0-48.738zM416 228c0 68.483-57.308 124-128 124s-128-55.517-128-124 57.308-124 128-124 128 55.517 128 124zm125.784 36.123C489.837 352.277 393.865 408 288 408c-106.291 0-202.061-56.105-253.784-143.876a16.006 16.006 0 0 1 0-16.247c29.072-49.333 73.341-90.435 127.66-115.887C140.845 158.191 128 191.568 128 228c0 85.818 71.221 156 160 156 88.77 0 160-70.178 160-156 0-36.411-12.833-69.794-33.875-96.01 53.76 25.189 98.274 66.021 127.66 115.887a16.006 16.006 0 0 1-.001 16.246zM224 224c0-10.897 2.727-21.156 7.53-30.137v.02c0 14.554 11.799 26.353 26.353 26.353 14.554 0 26.353-11.799 26.353-26.353s-11.799-26.353-26.353-26.353h-.02c8.981-4.803 19.24-7.53 30.137-7.53 35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64z"/></svg>
|
Before Width: | Height: | Size: 1012 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M506 114H134a6 6 0 0 1-6-6V84a6 6 0 0 1 6-6h372a6 6 0 0 1 6 6v24a6 6 0 0 1-6 6zm6 154v-24a6 6 0 0 0-6-6H134a6 6 0 0 0-6 6v24a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6zm0 160v-24a6 6 0 0 0-6-6H134a6 6 0 0 0-6 6v24a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6zM84 120V72c0-6.627-5.373-12-12-12H24c-6.627 0-12 5.373-12 12v48c0 6.627 5.373 12 12 12h48c6.627 0 12-5.373 12-12zm0 160v-48c0-6.627-5.373-12-12-12H24c-6.627 0-12 5.373-12 12v48c0 6.627 5.373 12 12 12h48c6.627 0 12-5.373 12-12zm0 160v-48c0-6.627-5.373-12-12-12H24c-6.627 0-12 5.373-12 12v48c0 6.627 5.373 12 12 12h48c6.627 0 12-5.373 12-12z"/></svg>
|
Before Width: | Height: | Size: 654 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M564.907 196.35L388.91 12.366C364.216-13.45 320 3.746 320 40.016v88.154C154.548 130.155 0 160.103 0 331.19c0 94.98 55.84 150.231 89.13 174.571 24.233 17.722 58.021-4.992 49.68-34.51C100.937 336.887 165.575 321.972 320 320.16V408c0 36.239 44.19 53.494 68.91 27.65l175.998-184c14.79-15.47 14.79-39.83-.001-55.3zm-23.127 33.18l-176 184c-4.933 5.16-13.78 1.73-13.78-5.53V288c-171.396 0-295.313 9.707-243.98 191.7C72 453.36 32 405.59 32 331.19 32 171.18 194.886 160 352 160V40c0-7.262 8.851-10.69 13.78-5.53l176 184a7.978 7.978 0 0 1 0 11.06z"/></svg>
|
Before Width: | Height: | Size: 617 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M616 320h-72v-48c0-26.468-21.532-48-48-48H336v-32h56c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h56v32H144c-26.467 0-48 21.532-48 48v48H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-40v-48c0-8.822 7.178-16 16-16h160v64h-56c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-56v-64h160c8.822 0 16 7.178 16 16v48h-40c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24zm-456 32v128H32V352h128zm224 0v128H256V352h128zM256 160V32h128v128H256zm352 320H480V352h128v128z"/></svg>
|
Before Width: | Height: | Size: 806 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M336 64l-33.6-44.8C293.3 7.1 279.1 0 264 0h-80c-15.1 0-29.3 7.1-38.4 19.2L112 64H24C10.7 64 0 74.7 0 88v2c0 3.3 2.7 6 6 6h26v368c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V96h26c3.3 0 6-2.7 6-6v-2c0-13.3-10.7-24-24-24h-88zM184 32h80c5 0 9.8 2.4 12.8 6.4L296 64H152l19.2-25.6c3-4 7.8-6.4 12.8-6.4zm200 432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V96h320v368zm-176-44V156c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12zm-80 0V156c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12zm160 0V156c0-6.6 5.4-12 12-12h8c6.6 0 12 5.4 12 12v264c0 6.6-5.4 12-12 12h-8c-6.6 0-12-5.4-12-12z"/></svg>
|
Before Width: | Height: | Size: 734 B |
|
@ -1,13 +0,0 @@
|
|||
<header>
|
||||
{{breadcrumb-nav currentDirPath=currentDirPath}}
|
||||
<nav class="actions">
|
||||
{{#if currentListingContainsDocuments}}
|
||||
<button class="delete-all" title="Delete documents/files"
|
||||
{{action "deleteDocuments"}}>{{partial 'icons/trash'}}</button>
|
||||
{{/if}}
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
{{#if currentListing}}
|
||||
{{directory-listing items=currentListing}}
|
||||
{{/if}}
|
|
@ -1,81 +0,0 @@
|
|||
<header>
|
||||
{{breadcrumb-nav currentDirPath=currentDirPath}}
|
||||
<nav class="actions">
|
||||
{{#if metadataHidden}}
|
||||
<button {{action "toggleMetadata"}}
|
||||
title="Show metadata">
|
||||
{{partial "icons/arrow-from-right"}}
|
||||
</button>
|
||||
{{else}}
|
||||
<button {{action "toggleMetadata"}}
|
||||
title="Hide metadata">
|
||||
{{partial "icons/arrow-to-right"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
{{#if publicItemURL}}
|
||||
<a class="button" href={{publicItemURL}} target="_blank"
|
||||
title="Open document in new tab">
|
||||
{{partial "icons/share"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if documentIsJSON}}
|
||||
<div class="button-group json-view">
|
||||
<button disabled={{jsonShowTree}}
|
||||
class="{{if jsonShowTree "active"}}"
|
||||
title="Tree view"
|
||||
{{action "showJsonTree"}}>
|
||||
{{partial "icons/list"}}
|
||||
</button>
|
||||
<button disabled={{jsonShowSource}}
|
||||
class="{{if jsonShowSource "active"}}"
|
||||
title="Show source"
|
||||
{{action "showJsonSource"}}>
|
||||
{{partial "icons/code"}}
|
||||
</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if documentIsEditable}}
|
||||
<div class="button-group editable">
|
||||
<button disabled={{documentHideEditor}}
|
||||
class="{{if documentHideEditor "active"}}"
|
||||
title="{{if documentHideEditor "Cancel editing"}}"
|
||||
{{action "cancelEditor"}}>
|
||||
{{partial "icons/eye"}}
|
||||
</button>
|
||||
<button disabled={{documentShowEditor}}
|
||||
class="{{if documentShowEditor "active"}}"
|
||||
{{action "showEditor"}}>
|
||||
{{partial "icons/edit"}}
|
||||
</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
<button class="delete" title="Delete"
|
||||
{{action "deleteItem"}}>{{partial "icons/trash"}}</button>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="inspect-details {{if metadataHidden "hide-metadata"}}">
|
||||
<section class="content">
|
||||
{{file-preview metaData=model.documentMetaData
|
||||
isJSON=documentIsJSON
|
||||
isEditable=documentIsEditableHide
|
||||
showEditor=documentShowEditor
|
||||
jsonShowTree=jsonShowTree
|
||||
jsonShowSource=jsonShowSource}}
|
||||
</section>
|
||||
|
||||
{{#unless metadataHidden}}
|
||||
<section class="meta">
|
||||
<dl>
|
||||
<dt>Name</dt>
|
||||
<dd>{{model.documentMetaData.name}}</dd>
|
||||
<dt>Content type</dt>
|
||||
<dd>{{model.documentMetaData.type}}</dd>
|
||||
<dt>Size</dt>
|
||||
<dd>{{human-file-size model.documentMetaData.size}}</dd>
|
||||
<dt>Revision (ETag)</dt>
|
||||
<dd>{{model.documentMetaData.etag}}</dd>
|
||||
</dl>
|
||||
</section>
|
||||
{{/unless}}
|
||||
</div>
|
|
@ -1,3 +0,0 @@
|
|||
export default function simpleContentType(str) {
|
||||
return str.replace(/;.*$/, '');
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,i=Ember.observer,o=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:o(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:i("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed,o=Ember.observer,s=Ember.computed.alias,a=Ember.isPresent,l=Ember.isEmpty,c=Ember.RSVP.all
|
||||
e.default=t.extend({application:n(),storage:r(),connected:s("storage.connected"),rootListing:s("storage.rootListing"),currentDirPath:s("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),documents:i("currentListing.[]",function(){return l(this.get("currentListing"))?[]:this.get("currentListing").reject(function(e){return"/"===e.path.substr(-1)})}),currentListingContainsDocuments:i("documents.[]",function(){return a(this.get("documents"))}),documentCount:i("documents.[]",function(){return a(this.get("documents"))?this.get("documents").length:0}),parentDir:i("currentDirPath",function(){var e=this.get("currentDirPath").split("/").reject(function(e){return l(e)})
|
||||
return e.splice(0,e.length-1).join("/")+"/"}),connectedChange:o("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))}),actions:{deleteDocuments:function(){var e=this,t="This will delete all "+this.get("documentCount")+" documents/files in the current directory. Are you sure?"
|
||||
if(!window.confirm(t))return!1
|
||||
var n=this.get("storage.client"),r=this.get("documents").map(function(e){return console.debug("removing "+e.path),n.remove(e.path)})
|
||||
c(r).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("parentDir")}})})}}})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],actions:{deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,o=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,o)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,i=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new i(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,o=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&(e.set("currentDirPath",t.currentDirPath),r(t.currentListing)&&this.transitionTo("index",{queryParams:{path:e.get("parentDir")}}))},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?o(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,o=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=o.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{skipInitial:!0})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(o){var s=n[o],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(i.create({name:o,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+o,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"niZ23686",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["currentListingContainsDocuments"]]],null,{"statements":[[0," "],[6,"button"],[9,"class","delete-all"],[3,"action",[[19,0,[]],"deleteDocuments"]],[7],[0,"delete all"],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"iEMqy3N5",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.7.0+afa1552e"})
|
|
@ -0,0 +1,80 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,i=Ember.observer,o=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:o(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:i("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.observer,i=Ember.inject.service,o=Ember.computed.alias,s=Ember.isPresent
|
||||
e.default=t.extend({application:n(),storage:i(),connected:o("storage.connected"),rootListing:o("storage.rootListing"),currentDirPath:o("application.currentDirPath"),queryParams:["path"],currentListing:function(){return s(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),connectedChange:r("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))})})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],actions:{deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,o=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,o)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,i=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new i(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,o=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?o(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,o=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=o.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{skipInitial:!0})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(o){var s=n[o],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(i.create({name:o,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+o,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2xq+NPC0",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"iEMqy3N5",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.5.1+ab9ad2f3"})
|
|
@ -0,0 +1,80 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,i=Ember.observer,o=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:o(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:i("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.observer,i=Ember.inject.service,o=Ember.computed.alias,s=Ember.isPresent
|
||||
e.default=t.extend({application:n(),storage:i(),connected:o("storage.connected"),rootListing:o("storage.rootListing"),currentDirPath:o("application.currentDirPath"),queryParams:["path"],currentListing:function(){return s(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),connectedChange:r("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))})})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],actions:{deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,o=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,o)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,i=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new i(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,o=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?o(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,o=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=o.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{skipInitial:!0})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(o){var s=n[o],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(i.create({name:o,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+o,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2xq+NPC0",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"iEMqy3N5",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.6.1"})
|
|
@ -0,0 +1 @@
|
|||
@charset "UTF-8";.directory-listing ul.listing li:first-of-type,.inspect-details section{border-top:1px solid #ececec}#app-container>aside{background-color:#2a3743;color:#b5c3d1}#app-container>aside a{color:#b5c3d1;text-decoration:none}#app-container>aside a:hover{color:#fff}#app-container>main>header a:link,#app-container>main>header a:visited{color:#aaa}#app-container>main>header a:hover{color:#2a3743}*{box-sizing:border-box;-moz-outline:none;outline:0}#remotestorage-widget{position:fixed;top:1rem;right:3rem;z-index:1}#app-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch}#app-container>aside{flex:0 0 16rem;overflow:auto;padding:2rem}#app-container>aside nav{margin-top:5rem;margin-bottom:4rem}#app-container>main{background-color:#fff;flex:1;overflow:auto;padding:3rem 4rem}#app-container>main>header{height:4em}.inspect-details{width:100%;display:grid;grid-template-columns:1.618fr 3rem 1fr}.inspect-details section{padding:1.5rem 1px}.inspect-details section.meta{grid-column-start:3}.inspect-details section.meta dl{margin:0}.inspect-details section.meta dl dd,.inspect-details section.meta dl dt{display:block}.inspect-details section.meta dl dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#aaa;margin-bottom:.4rem}.inspect-details section.meta dl dd{margin:0 0 1.5rem}body{background-color:#fff;font-size:16px;font-family:Open Sans,sans-serif;color:#2a3743;margin:0;padding:0}.breadcrumb-nav a.active{text-decoration:none}.breadcrumb-nav .node{display:inline-block}.breadcrumb-nav .node+.node{margin-left:.5rem}.breadcrumb-nav .node+.node::before{content:'›';padding-right:.6rem}#app-container>aside nav ul{list-style:none;margin:0;padding:0}#app-container>aside nav a{display:block;padding:.2rem 0}.directory-listing ul.listing{display:block;width:100%;margin:0 0 6rem;padding:0}.directory-listing ul.listing li{display:table;width:100%;border-bottom:1px solid #ececec}.directory-listing ul.listing li:hover span{opacity:.7;cursor:pointer}.directory-listing ul.listing li a{display:table-row;text-decoration:none;color:#2a3743}.directory-listing ul.listing li a span{display:table-cell;padding:1rem 1.5rem}.directory-listing ul.listing li a span.icon{width:3%;padding-left:0;padding-right:0;text-align:center}.directory-listing ul.listing li a span.name{width:60%}.directory-listing ul.listing li a span.size{width:10%;white-space:nowrap;color:#aaa}.directory-listing ul.listing li a span.type{width:27%;white-space:nowrap;color:#aaa}ul.listing span.icon img{height:1.2rem;vertical-align:middle}.file-preview code{word-break:break-all;line-height:1.5rem}.file-preview img{max-width:100%}
|
|
@ -0,0 +1 @@
|
|||
@charset "UTF-8";.directory-listing ul.listing li:first-of-type,.inspect-details section{border-top:1px solid #ececec}body{transition:background-color .2s linear}#app-container,#app-container>main{background-color:#fff}#app-container>aside{background-color:#2a3743;color:#b5c3d1;transition:flex .2s ease-in}#app-container>aside a{color:#b5c3d1;text-decoration:none}#app-container>aside a:hover{color:#fff}#app-container>main>header a:link,#app-container>main>header a:visited{color:#aaa}#app-container>main>header a:hover{color:#2a3743}#app-container.disconnected main{background-color:#ececec}*{box-sizing:border-box;-moz-outline:none;outline:0}#remotestorage-widget{display:none;position:absolute;top:20%;left:50%;margin-left:-200px;z-index:23}.connect #remotestorage-widget{display:block}#app-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch}#app-container.disconnected>aside{flex:0;overflow:hidden}#app-container.connected>aside{flex:0 0 16rem;overflow:auto;padding:2rem}#app-container>aside .account-info{height:5rem}#app-container>main{flex:1;overflow:auto;padding:3rem 4rem}#app-container>main>header{height:4rem}.inspect-details{width:100%;display:grid;grid-template-columns:1.618fr 3rem 1fr}.inspect-details section{padding:1.5rem 1px}.inspect-details section.meta{grid-column-start:3}.inspect-details section.meta dl{margin:0}.inspect-details section.meta dl dd,.inspect-details section.meta dl dt{display:block}.inspect-details section.meta dl dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#aaa;margin-bottom:.4rem}.inspect-details section.meta dl dd{margin:0 0 1.5rem}body{background-color:#fff;font-size:16px;font-family:Open Sans,sans-serif;color:#2a3743;margin:0;padding:0}.account-info{position:relative}.account-info .username{font-size:1.4rem}.account-info .host{font-size:.8rem;opacity:.7}.account-info .disconnect{display:inline-block;margin-left:.5rem;font-size:.8rem;opacity:0;transition:opacity .2s linear}.account-info:hover .disconnect{font-size:.8rem;opacity:1}.breadcrumb-nav a.active{text-decoration:none}.breadcrumb-nav .node{display:inline-block}.breadcrumb-nav .node+.node{margin-left:.5rem}.breadcrumb-nav .node+.node::before{content:'›';padding-right:.6rem}#app-container>aside nav ul{list-style:none;margin:0;padding:0}#app-container>aside nav a{display:block;padding:.2rem 0}.directory-listing ul.listing{display:block;width:100%;margin:0 0 6rem;padding:0}.directory-listing ul.listing li{display:table;width:100%;border-bottom:1px solid #ececec}.directory-listing ul.listing li:hover span{opacity:.7;cursor:pointer}.directory-listing ul.listing li a{display:table-row;text-decoration:none;color:#2a3743}.directory-listing ul.listing li a span{display:table-cell;padding:1rem 1.5rem}.directory-listing ul.listing li a span.icon{width:3%;padding-left:0;padding-right:0;text-align:center}.directory-listing ul.listing li a span.name{width:60%}.directory-listing ul.listing li a span.size{width:10%;white-space:nowrap;color:#aaa}.directory-listing ul.listing li a span.type{width:27%;white-space:nowrap;color:#aaa}ul.listing span.icon img{height:1.2rem;vertical-align:middle}.file-preview code{word-break:break-all;line-height:1.5rem}.file-preview img{max-width:100%}
|
|
@ -0,0 +1,71 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.observer,i=Ember.inject.service,a=Ember.computed.alias,o=Ember.isEmpty
|
||||
e.default=t.extend({storage:i(),connecting:a("storage.connecting"),connected:a("storage.connected"),rootListing:a("storage.rootListing"),currentDirPath:null,categories:function(){var e=[],t=this.get("rootListing")
|
||||
return o(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:r("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.observer,i=Ember.inject.service,a=Ember.computed.alias,o=Ember.isPresent
|
||||
e.default=t.extend({application:n(),storage:i(),connected:a("storage.connected"),rootListing:a("storage.rootListing"),currentDirPath:a("application.currentDirPath"),queryParams:["path"],currentListing:function(){return o(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),connectedChange:r("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))})})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"]})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,a=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,a)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect")}),e.default=n}),define("inspektor/routes/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route
|
||||
e.default=t.extend({})})
|
||||
define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,a=Ember.run.later,o=Ember.RSVP.hash,s=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){return this.waitForConnectionState()},model:function(e){if(this.get("storage.disconnected"))return null
|
||||
var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),o({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){if(this._super(e,t),this.get("storage.disconnected"))return!0
|
||||
r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)},waitForConnectionState:function(){var e=this
|
||||
return new s(function(t){function n(){e.get("storage.connecting")?a(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,a=Ember.computed,o=Ember.observer,s=Ember.Service
|
||||
e.default=s.extend({rs:null,widget:null,connecting:!0,connected:!1,disconnected:a.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:o("connected",function(){this.get("connected")?this.fetchRootListing():this.set("rootListing",null)}),fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return Object.keys(n).forEach(function(a){var o=n[a],s=o["Content-Type"]||"folder",l=!1
|
||||
"folder"!==s&&(l=!!s.match(/charset=binary/),s=(0,r.default)(s)),t.push(i.create({name:a,type:s,isBinary:l,isFolder:"folder"===s,size:o["Content-Length"]||null,path:e+a,etag:o.ETag}))}),t})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2yFDPWSX",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[6,"header"],[7],[0,"\\n"],[4,"if",[[20,["connecting"]]],null,{"statements":[[0," "],[2," Connecting... "],[0,"\\n"]],"parameters":[]},{"statements":[[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," Not connected.\\n"]],"parameters":[]}]],"parameters":[]}],[0," "],[8],[0,"\\n\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"I+40EE07",block:'{"symbols":[],"statements":[[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Fqf/+82x",block:'{"symbols":[],"statements":[[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.4.0"})
|
|
@ -0,0 +1,85 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(o,r.default.modulePrefix),e.default=o}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var o=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:o}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports","npm:json-tree-view"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Component,r=Ember.inject.service,o=Ember.observer,i=Ember.computed.alias,s=Ember.run.scheduleOnce
|
||||
e.default=n.extend({storage:r(),classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,isJSON:null,type:i("metaData.type"),isBinary:i("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("didInsertElement"),onFileLoaded:o("fileLoaded",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),onJsonViewChanged:o("jsonShowTree",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),renderJsonTree:function(){var e=JSON.parse(this.get("fileContent")),n=new t.default("content",e)
|
||||
n.on("change",function(e,t,n,r){console.log("change",t,n,"=>",r)}),n.on("rename",function(e,t,n,r){console.log("rename",t,n,"=>",r)}),n.on("delete",function(e,t){console.log("delete",t)}),n.on("append",function(e,t,n,r){console.log("append",t,n,"=>",r)}),n.on("click",function(e,t,n){console.log("click",t,"=",n)}),n.on("expand",function(e,t,n){console.log("expand",t,"=",n)}),n.on("collapse",function(e,t,n){console.log("collapse",t,"=",n)}),n.on("refresh",function(e,t,n){console.log("refresh",t,"=",n)}),document.getElementById("json-tree-view").appendChild(n.dom),window.jsonview=n,n.expand(!0),n.withRootName=!1,n.readonly=!0,this.set("jsonTreeView",n)}})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"7Q1kHSb6",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[4,"if",[[20,["isJSON"]]],null,{"statements":[[4,"if",[[20,["jsonShowTree"]]],null,{"statements":[[0," "],[6,"div"],[9,"id","json-tree-view"],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,o=Ember.observer,i=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:i(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:o("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.observer,s=Ember.computed.alias,a=Ember.isPresent,l=Ember.isEmpty,c=Ember.RSVP.all
|
||||
e.default=t.extend({application:n(),storage:r(),connected:s("storage.connected"),rootListing:s("storage.rootListing"),currentDirPath:s("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),documents:o("currentListing.[]",function(){return l(this.get("currentListing"))?[]:this.get("currentListing").reject(function(e){return"/"===e.path.substr(-1)})}),currentListingContainsDocuments:o("documents.[]",function(){return a(this.get("documents"))}),documentCount:o("documents.[]",function(){return a(this.get("documents"))?this.get("documents").length:0}),parentDir:o("currentDirPath",function(){var e=this.get("currentDirPath").split("/").reject(function(e){return l(e)})
|
||||
return e.splice(0,e.length-1).join("/")+"/"}),connectedChange:i("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))}),actions:{deleteDocuments:function(){var e=this,t="This will delete all "+this.get("documentCount")+" documents/files in the current directory. Are you sure?"
|
||||
if(!window.confirm(t))return!1
|
||||
var n=this.get("storage.client"),r=this.get("documents").map(function(e){return console.debug("removing "+e.path),n.remove(e.path)})
|
||||
c(r).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("parentDir")}})})}}})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.computed.alias,s=Ember.isEmpty
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],documentIsJSON:o("model.documentMetaData.type",function(){return!s(this.get("model.documentMetaData"))&&!!this.get("model.documentMetaData.type").match(/application\/json/i)}),jsonView:"tree",jsonShowTree:o.equal("jsonView","tree"),jsonShowSource:o.equal("jsonView","source"),actions:{showJsonTree:function(){this.set("jsonView","tree")},showJsonSource:function(){this.set("jsonView","source")},deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?o.match(n.versionRegExp)[0]:t.hideVersion?o.match(n.shaRegExp)[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var o=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,o=r.name,i=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(o,i)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,o=t.default.exportApplicationGlobal
|
||||
r="string"==typeof o?o:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,o=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new o(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent,i=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&(e.set("currentDirPath",t.currentDirPath),r(t.currentListing)&&this.transitionTo("index",{queryParams:{path:e.get("parentDir")}}))},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?i(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],o=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",o)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Object,i=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=i.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var o=new n.default(r,{skipInitial:!0})
|
||||
o.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",o),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(i){var s=n[i],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(o.create({name:i,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+i,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"niZ23686",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["currentListingContainsDocuments"]]],null,{"statements":[[0," "],[6,"button"],[9,"class","delete-all"],[3,"action",[[19,0,[]],"deleteDocuments"]],[7],[0,"delete all"],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"UoZns/4Y",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["documentIsJSON"]]],null,{"statements":[[0," "],[6,"div"],[9,"class","button-group json-view"],[7],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowTree"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowTree"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonTree"]],[7],[0,"tree view"],[8],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowSource"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowSource"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonSource"]],[7],[0,"source"],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","isJSON","jsonShowTree","jsonShowSource"],[[20,["model","documentMetaData"]],[20,["documentIsJSON"]],[20,["jsonShowTree"]],[20,["jsonShowSource"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.7.1+41161308"})
|
|
@ -0,0 +1,85 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(o,r.default.modulePrefix),e.default=o}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var o=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:o}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports","npm:json-tree-view"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Component,r=Ember.inject.service,o=Ember.observer,i=Ember.computed.alias,s=Ember.run.scheduleOnce
|
||||
e.default=n.extend({storage:r(),classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,isJSON:null,type:i("metaData.type"),isBinary:i("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("didInsertElement"),onFileLoaded:o("fileLoaded",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),onJsonViewChanged:o("jsonShowTree",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),renderJsonTree:function(){var e=JSON.parse(this.get("fileContent")),n=new t.default("content",e)
|
||||
n.on("change",function(e,t,n,r){console.log("change",t,n,"=>",r)}),n.on("rename",function(e,t,n,r){console.log("rename",t,n,"=>",r)}),n.on("delete",function(e,t){console.log("delete",t)}),n.on("append",function(e,t,n,r){console.log("append",t,n,"=>",r)}),n.on("click",function(e,t,n){console.log("click",t,"=",n)}),n.on("expand",function(e,t,n){console.log("expand",t,"=",n)}),n.on("collapse",function(e,t,n){console.log("collapse",t,"=",n)}),n.on("refresh",function(e,t,n){console.log("refresh",t,"=",n)}),document.getElementById("json-tree-view").appendChild(n.dom),window.jsonview=n,n.expand(!0),n.withRootName=!1,n.readonly=!0,this.set("jsonTreeView",n)}})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"7Q1kHSb6",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[4,"if",[[20,["isJSON"]]],null,{"statements":[[4,"if",[[20,["jsonShowTree"]]],null,{"statements":[[0," "],[6,"div"],[9,"id","json-tree-view"],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,o=Ember.observer,i=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:i(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:o("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.observer,s=Ember.computed.alias,a=Ember.isPresent,l=Ember.isEmpty,c=Ember.RSVP.all
|
||||
e.default=t.extend({application:n(),storage:r(),connected:s("storage.connected"),rootListing:s("storage.rootListing"),currentDirPath:s("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),documents:o("currentListing.[]",function(){return l(this.get("currentListing"))?[]:this.get("currentListing").reject(function(e){return"/"===e.path.substr(-1)})}),currentListingContainsDocuments:o("documents.[]",function(){return a(this.get("documents"))}),documentCount:o("documents.[]",function(){return a(this.get("documents"))?this.get("documents").length:0}),parentDir:o("currentDirPath",function(){var e=this.get("currentDirPath").split("/").reject(function(e){return l(e)})
|
||||
return e.splice(0,e.length-1).join("/")+"/"}),connectedChange:i("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))}),actions:{deleteDocuments:function(){var e=this,t="This will delete all "+this.get("documentCount")+" documents/files in the current directory. Are you sure?"
|
||||
if(!window.confirm(t))return!1
|
||||
var n=this.get("storage.client"),r=this.get("documents").map(function(e){return console.debug("removing "+e.path),n.remove(e.path)})
|
||||
c(r).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("parentDir")}})})}}})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.computed.alias,s=Ember.isEmpty
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],documentIsJSON:o("model.documentMetaData.type",function(){return!s(this.get("model.documentMetaData"))&&!!this.get("model.documentMetaData.type").match(/application\/json/i)}),jsonView:"tree",jsonShowTree:o.equal("jsonView","tree"),jsonShowSource:o.equal("jsonView","source"),actions:{showJsonTree:function(){this.set("jsonView","tree")},showJsonSource:function(){this.set("jsonView","source")},deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?o.match(n.versionRegExp)[0]:t.hideVersion?o.match(n.shaRegExp)[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var o=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,o=r.name,i=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(o,i)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,o=t.default.exportApplicationGlobal
|
||||
r="string"==typeof o?o:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,o=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new o(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent,i=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&(e.set("currentDirPath",t.currentDirPath),r(t.currentListing)&&this.transitionTo("index",{queryParams:{path:e.get("parentDir")}}))},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?i(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],o=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",o)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Object,i=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=i.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var o=new n.default(r,{skipInitial:!0})
|
||||
o.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",o),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(i){var s=n[i],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(o.create({name:i,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+i,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"niZ23686",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["currentListingContainsDocuments"]]],null,{"statements":[[0," "],[6,"button"],[9,"class","delete-all"],[3,"action",[[19,0,[]],"deleteDocuments"]],[7],[0,"delete all"],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"UoZns/4Y",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["documentIsJSON"]]],null,{"statements":[[0," "],[6,"div"],[9,"class","button-group json-view"],[7],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowTree"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowTree"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonTree"]],[7],[0,"tree view"],[8],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowSource"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowSource"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonSource"]],[7],[0,"source"],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","isJSON","jsonShowTree","jsonShowSource"],[[20,["model","documentMetaData"]],[20,["documentIsJSON"]],[20,["jsonShowTree"]],[20,["jsonShowSource"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.7.1+c46f3633"})
|
|
@ -0,0 +1 @@
|
|||
@charset "UTF-8";.directory-listing ul.listing li:first-of-type,.inspect-details section{border-top:1px solid #ececec}body{transition:background-color .2s linear}#app-container,#app-container>main{background-color:#fff}#app-container>aside{background-color:#2a3743;color:#b5c3d1;transition:flex .2s ease-in}#app-container>aside a{color:#b5c3d1;text-decoration:none}#app-container>aside a:hover{color:#fff}#app-container>main>header a:link,#app-container>main>header a:visited{color:#aaa}#app-container>main>header a:hover{color:#2a3743}#app-container.disconnected main{background-color:#ececec}*{box-sizing:border-box;-moz-outline:none;outline:0}#remotestorage-widget{display:none;position:absolute;top:20%;left:50%;margin-left:-200px;z-index:23}.connect #remotestorage-widget{display:block}#app-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch}#app-container.disconnected>aside{flex:0;overflow:hidden}#app-container.connected>aside{flex:0 0 16rem;overflow:auto;padding:2rem}#app-container>aside .account-info{height:5rem}#app-container>main{flex:1;overflow:auto;padding:3rem 4rem}#app-container>main>header{height:4rem;display:flex;flex-direction:row}#app-container>main>header nav.breadcrumb-nav{flex:1}#app-container>main>header nav.actions{flex:1;text-align:right}.inspect-details{width:100%;display:grid;grid-template-columns:1.618fr 3rem 1fr}.inspect-details section{padding:1.5rem 1px}.inspect-details section.content{overflow:hidden}.inspect-details section.meta{grid-column-start:3;overflow:hidden}.inspect-details section.meta dl{margin:0}.inspect-details section.meta dl dd,.inspect-details section.meta dl dt{display:block}.inspect-details section.meta dl dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#aaa;margin-bottom:.4rem}.inspect-details section.meta dl dd{margin:0 0 1.5rem}body{background-color:#fff;font-size:16px;font-family:Open Sans,sans-serif;color:#2a3743;margin:0;padding:0}.account-info{position:relative}.account-info .username{font-size:1.4rem}.account-info .host{font-size:.8rem;opacity:.7}.account-info .disconnect{display:inline-block;margin-left:.5rem;font-size:.8rem;opacity:0;transition:opacity .2s linear}.account-info:hover .disconnect{font-size:.8rem;opacity:1}.breadcrumb-nav a.active{text-decoration:none}.breadcrumb-nav .node{display:inline-block}.breadcrumb-nav .node+.node{margin-left:.5rem}.breadcrumb-nav .node+.node::before{content:'›';padding-right:.6rem}#app-container>aside nav ul{list-style:none;margin:0;padding:0}#app-container>aside nav a{display:block;padding:.2rem 0}.directory-listing ul.listing{display:block;width:100%;margin:0 0 6rem;padding:0}.directory-listing ul.listing li{display:table;width:100%;border-bottom:1px solid #ececec}.directory-listing ul.listing li:hover span{opacity:.7;cursor:pointer}.directory-listing ul.listing li a{display:table-row;text-decoration:none;color:#2a3743}.directory-listing ul.listing li a span{display:table-cell;padding:1rem 1.5rem}.directory-listing ul.listing li a span.icon{width:3%;padding-left:0;padding-right:0;text-align:center}.directory-listing ul.listing li a span.name{width:60%}.directory-listing ul.listing li a span.size{width:10%;white-space:nowrap;color:#aaa}.directory-listing ul.listing li a span.type{width:27%;white-space:nowrap;color:#aaa}ul.listing span.icon img{height:1.2rem;vertical-align:middle}.file-preview code{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;hyphens:none}.file-preview img{max-width:100%}
|
|
@ -0,0 +1,84 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,i=Ember.observer,o=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:o(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:i("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed,o=Ember.observer,s=Ember.computed.alias,a=Ember.isPresent,l=Ember.isEmpty,c=Ember.RSVP.all
|
||||
e.default=t.extend({application:n(),storage:r(),connected:s("storage.connected"),rootListing:s("storage.rootListing"),currentDirPath:s("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),documents:i("currentListing.[]",function(){return this.get("currentListing").reject(function(e){return"/"===e.path.substr(-1)})}),currentListingContainsDocuments:i("documents.[]",function(){return a(this.get("documents"))}),documentCount:i("documents.[]",function(){return a(this.get("documents"))?this.get("documents").length:0}),parentDir:i("currentDirPath",function(){var e=this.get("currentDirPath").split("/").reject(function(e){return l(e)})
|
||||
return e.splice(0,e.length-1).join("/")+"/"}),connectedChange:o("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))}),actions:{deleteDocuments:function(){var e=this,t="This will delete all "+this.get("documentCount")+" documents/files in the current directory. Are you sure?"
|
||||
if(!window.confirm(t))return!1
|
||||
var n=this.get("storage.client"),r=this.get("documents").map(function(e){return console.debug("removing "+e.path),n.remove(e.path)})
|
||||
c(r).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("parentDir")}})})}}})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],actions:{deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,o=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,o)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,i=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new i(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,o=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&(e.set("currentDirPath",t.currentDirPath),r(t.currentListing)&&this.transitionTo("index",{queryParams:{path:e.get("parentDir")}}))},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?o(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,o=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=o.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{skipInitial:!0})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(o){var s=n[o],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(i.create({name:o,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+o,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"niZ23686",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["currentListingContainsDocuments"]]],null,{"statements":[[0," "],[6,"button"],[9,"class","delete-all"],[3,"action",[[19,0,[]],"deleteDocuments"]],[7],[0,"delete all"],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"iEMqy3N5",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.7.0"})
|
|
@ -0,0 +1,68 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.inject.service,i=Ember.computed.alias,a=Ember.observer,o=Ember.isEmpty
|
||||
e.default=t.extend({storage:r(),connecting:i("storage.connecting"),connected:i("storage.connected"),rootListing:i("storage.rootListing"),handleConnected:a("connected",function(){this.get("storage").fetchRootListing()}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return o(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing")})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias,a=Ember.isPresent
|
||||
e.default=t.extend({application:n(),storage:r(),rootListing:i("storage.rootListing"),currentDirPath:i("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]")})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"]})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,a=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,a)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect")}),e.default=n}),define("inspektor/routes/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route
|
||||
e.default=t.extend({})})
|
||||
define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,a=Ember.RSVP.hash
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),a({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,a=Ember.Service
|
||||
e.default=a.extend({rs:null,widget:null,connecting:!0,connected:!1,client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return Object.keys(n).forEach(function(a){var o=n[a],s=o["Content-Type"]||"folder",l=!1
|
||||
"folder"!==s&&(l=!!s.match(/charset=binary/),s=(0,r.default)(s)),t.push(i.create({name:a,type:s,isBinary:l,isFolder:"folder"===s,size:o["Content-Length"]||null,path:e+a,etag:o.ETag}))}),t})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2yFDPWSX",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[6,"header"],[7],[0,"\\n"],[4,"if",[[20,["connecting"]]],null,{"statements":[[0," "],[2," Connecting... "],[0,"\\n"]],"parameters":[]},{"statements":[[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," Not connected.\\n"]],"parameters":[]}]],"parameters":[]}],[0," "],[8],[0,"\\n\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"I+40EE07",block:'{"symbols":[],"statements":[[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Fqf/+82x",block:'{"symbols":[],"statements":[[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.0.0+a121128d"})
|
|
@ -0,0 +1,78 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(i,r.default.modulePrefix),e.default=i}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var i=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:i}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed.alias
|
||||
e.default=t.extend({storage:null,classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,type:n("metaData.type"),isBinary:n("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("init")})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"S7eRlRkE",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,i=Ember.observer,o=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:o(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:i("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.observer,i=Ember.inject.service,o=Ember.computed.alias,s=Ember.isPresent
|
||||
e.default=t.extend({application:n(),storage:i(),connected:o("storage.connected"),rootListing:o("storage.rootListing"),currentDirPath:o("application.currentDirPath"),queryParams:["path"],currentListing:function(){return s(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),connectedChange:r("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))})})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,i=Ember.computed.alias
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"]})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?i.match(n.versionRegExp)[0]:t.hideVersion?i.match(n.shaRegExp)[0]:i}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var i=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,i=r.name,o=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(i,o)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,i=t.default.exportApplicationGlobal
|
||||
r="string"==typeof i?i:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route
|
||||
e.default=n.extend(t.default,{})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,i=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new i(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent,o=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?o(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,i=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],i=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",i)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),i(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var i=Ember.Object,o=Ember.computed,s=Ember.observer,a=Ember.Service
|
||||
e.default=a.extend({rs:null,widget:null,connecting:!0,connected:!1,userAddress:null,disconnected:o.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var i=new n.default(r,{skipInitial:!0})
|
||||
i.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",i),this.set("client",r.scope("/"))}.on("init"),connectedChange:s("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return Object.keys(n).forEach(function(o){var s=n[o],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(i.create({name:o,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+o,etag:s.ETag}))}),t})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"BDrVVS16",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[6,"header"],[7],[0,"\\n"],[4,"if",[[20,["connecting"]]],null,{"statements":[[0," "],[2," Connecting... "],[0,"\\n"]],"parameters":[]},{"statements":[[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[2," Please connect. "],[0,"\\n"]],"parameters":[]}]],"parameters":[]}],[0," "],[8],[0,"\\n\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Xj84QVvq",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"I+40EE07",block:'{"symbols":[],"statements":[[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Fqf/+82x",block:'{"symbols":[],"statements":[[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","storage"],[[20,["model","documentMetaData"]],[20,["storage"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.5.0"})
|
|
@ -0,0 +1,85 @@
|
|||
"use strict"
|
||||
define("inspektor/app",["exports","inspektor/resolver","ember-load-initializers","inspektor/config/environment"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Application.extend({modulePrefix:r.default.modulePrefix,podModulePrefix:r.default.podModulePrefix,Resolver:t.default});(0,n.default)(o,r.default.modulePrefix),e.default=o}),define("inspektor/components/account-info/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.computed
|
||||
e.default=t.extend({classNames:["account-info"],userAddress:null,username:n("userAddress",function(){return this.get("userAddress").split("@")[0]}),host:n("userAddress",function(){return"@"+this.get("userAddress").split("@")[1]})})}),define("inspektor/components/account-info/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"rn4KIRZr",block:'{"symbols":[],"statements":[[6,"span"],[9,"class","username"],[7],[1,[18,"username"],false],[8],[0,"\\n"],[6,"br"],[7],[8],[6,"span"],[9,"class","host"],[7],[1,[18,"host"],false],[8],[0,"\\n\\n"],[4,"link-to",["disconnect"],[["class"],["disconnect"]],{"statements":[[0,"disconnect"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/account-info/template.hbs"}})}),define("inspektor/components/breadcrumb-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component,n=Ember.Object,r=Ember.isEmpty
|
||||
e.default=t.extend({tagName:"nav",classNames:["breadcrumb-nav"],currentDirPath:null,linkItems:function(){var e=this.get("currentDirPath")
|
||||
if(r(e))return[]
|
||||
var t=[]
|
||||
return e.split("/").reject(function(e){return r(e)}).forEach(function(r){var o=e.match("(.*"+r+")/")[0]
|
||||
t.pushObject(n.create({name:r,path:o}))}),t}.property("currentDirPath")})}),define("inspektor/components/breadcrumb-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"j3noKP+7",block:'{"symbols":["item"],"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],["/"]]]],null,{"statements":[[0,"Home"]],"parameters":[]},null],[8],[0,"\\n"],[4,"each",[[20,["linkItems"]]],null,{"statements":[[6,"span"],[9,"class","node"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/breadcrumb-nav/template.hbs"}})}),define("inspektor/components/categories-nav/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({categories:null})}),define("inspektor/components/categories-nav/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"4FB0addV",block:'{"symbols":["category"],"statements":[[4,"if",[[20,["categories"]]],null,{"statements":[[0," "],[6,"nav"],[7],[0,"\\n "],[6,"ul"],[7],[0,"\\n"],[4,"each",[[20,["categories"]]],null,{"statements":[[0," "],[6,"li"],[7],[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[1,[19,1,["name"]],false]],"parameters":[]},null],[8],[0,"\\n"]],"parameters":[1]},null],[0," "],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/categories-nav/template.hbs"}})}),define("inspektor/components/directory-listing/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({classNames:["directory-listing"],items:null,itemsSorted:function(){var e=this.get("items")
|
||||
return e.reject(function(e){return"folder"!==e.type}).concat(e.reject(function(e){return"folder"===e.type}))}.property("items")})}),define("inspektor/components/directory-listing/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"K4sJaSiM",block:'{"symbols":["item"],"statements":[[6,"ul"],[9,"class","listing"],[7],[0,"\\n"],[4,"each",[[20,["itemsSorted"]]],null,{"statements":[[0," "],[6,"li"],[7],[0,"\\n"],[4,"if",[[19,1,["isFolder"]]],null,{"statements":[[4,"link-to",["index",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[2," TODO link to item "],[0,"\\n"],[4,"link-to",["inspect",[25,"query-params",null,[["path"],[[19,1,["path"]]]]]],null,{"statements":[[0," "],[6,"span"],[9,"class","icon"],[7],[1,[25,"item-icon",null,[["type"],[[19,1,["type"]]]]],false],[8],[0,"\\n "],[6,"span"],[9,"class","name"],[7],[1,[19,1,["name"]],false],[8],[0,"\\n "],[6,"span"],[9,"class","size"],[7],[1,[25,"human-file-size",[[19,1,["size"]]],null],false],[8],[0,"\\n "],[6,"span"],[9,"class","type"],[7],[1,[19,1,["type"]],false],[8],[0,"\\n"]],"parameters":[]},null]],"parameters":[]}],[0," "],[8],[0,"\\n"]],"parameters":[1]},null],[8]],"hasEval":false}',meta:{moduleName:"inspektor/components/directory-listing/template.hbs"}})}),define("inspektor/components/file-preview/component",["exports","npm:json-tree-view"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Component,r=Ember.inject.service,o=Ember.observer,i=Ember.computed.alias,s=Ember.run.scheduleOnce
|
||||
e.default=n.extend({storage:r(),classNames:["file-preview"],fileLoaded:!1,fileContent:null,objectURL:null,metaData:null,isJSON:null,type:i("metaData.type"),isBinary:i("metaData.isBinary"),isImage:function(){return this.get("type").match(/^image\/.+$/)}.property("type"),isText:function(){return!this.get("isBinary")}.property("isBinary"),loadFile:function(){var e=this,t=this.get("metaData.path")
|
||||
this.get("storage.client").getFile(t).then(function(t){if(e.get("isImage")){var n=new window.Uint8Array(t.data),r=new window.Blob([n],{type:t.contentType})
|
||||
e.set("objectURL",window.URL.createObjectURL(r))}else e.set("fileContent",t.data)
|
||||
e.set("fileLoaded",!0)})}.on("didInsertElement"),onFileLoaded:o("fileLoaded",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),onJsonViewChanged:o("jsonShowTree",function(){this.get("fileLoaded")&&this.get("isJSON")&&this.get("jsonShowTree")&&s("afterRender",this,"renderJsonTree")}),renderJsonTree:function(){var e=JSON.parse(this.get("fileContent")),n=new t.default("content",e)
|
||||
n.on("change",function(e,t,n,r){console.log("change",t,n,"=>",r)}),n.on("rename",function(e,t,n,r){console.log("rename",t,n,"=>",r)}),n.on("delete",function(e,t){console.log("delete",t)}),n.on("append",function(e,t,n,r){console.log("append",t,n,"=>",r)}),n.on("click",function(e,t,n){console.log("click",t,"=",n)}),n.on("expand",function(e,t,n){console.log("expand",t,"=",n)}),n.on("collapse",function(e,t,n){console.log("collapse",t,"=",n)}),n.on("refresh",function(e,t,n){console.log("refresh",t,"=",n)}),document.getElementById("json-tree-view").appendChild(n.dom),window.jsonview=n,n.expand(!0),n.withRootName=!1,n.readonly=!0,this.set("jsonTreeView",n)}})}),define("inspektor/components/file-preview/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"7Q1kHSb6",block:'{"symbols":[],"statements":[[4,"if",[[20,["fileLoaded"]]],null,{"statements":[[4,"if",[[20,["isBinary"]]],null,{"statements":[[4,"if",[[20,["isImage"]]],null,{"statements":[[0," "],[6,"img"],[10,"src",[18,"objectURL"],null],[10,"alt",[20,["metaData","name"]],null],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"p"],[7],[0,"No preview available for this content type."],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[0,"\\n"],[4,"if",[[20,["isText"]]],null,{"statements":[[4,"if",[[20,["isJSON"]]],null,{"statements":[[4,"if",[[20,["jsonShowTree"]]],null,{"statements":[[0," "],[6,"div"],[9,"id","json-tree-view"],[7],[8],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[0," "],[6,"code"],[7],[1,[18,"fileContent"],false],[8],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/components/file-preview/template.hbs"}})}),define("inspektor/components/item-icon/component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Component
|
||||
e.default=t.extend({tagName:"img",classNames:["item-icon"],attributeBindings:["src:src"],type:null,isFolder:function(){return"folder"===this.get("type")}.property("type"),src:function(){var e=this.get("type")
|
||||
return"/img/file-icons/"+(this.get("isFolder")?"folder.svg":e.match(/json/i)?"code-curly.svg":"file.svg")}.property()})}),define("inspektor/components/item-icon/template",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"0RA2e2SD",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/components/item-icon/template.hbs"}})}),define("inspektor/controllers/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.Object,r=Ember.computed,o=Ember.observer,i=Ember.inject.service,s=Ember.computed.alias,a=Ember.isEmpty
|
||||
e.default=t.extend({storage:i(),connecting:s("storage.connecting"),connected:s("storage.connected"),userAddress:s("storage.userAddress"),rootListing:s("storage.rootListing"),currentDirPath:null,connectedClass:r("connected",function(){return this.get("connected")?"connected":"disconnected"}),categories:function(){var e=[],t=this.get("rootListing")
|
||||
return a(t)?e:(t.forEach(function(t){t.isFolder&&e.push(n.create({name:t.name.replace("/",""),type:t.type,path:t.name}))}),e)}.property("rootListing"),connectedChange:o("connected",function(){this.get("connected")||this.set("currentDirPath",null)})})}),define("inspektor/controllers/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.observer,s=Ember.computed.alias,a=Ember.isPresent,l=Ember.isEmpty,c=Ember.RSVP.all
|
||||
e.default=t.extend({application:n(),storage:r(),connected:s("storage.connected"),rootListing:s("storage.rootListing"),currentDirPath:s("application.currentDirPath"),queryParams:["path"],currentListing:function(){return a(this.get("model.currentListing"))?this.get("model.currentListing").sortBy("name"):this.get("rootListing")}.property("rootListing.[]","model.[]"),documents:o("currentListing.[]",function(){return l(this.get("currentListing"))?[]:this.get("currentListing").reject(function(e){return"/"===e.path.substr(-1)})}),currentListingContainsDocuments:o("documents.[]",function(){return a(this.get("documents"))}),documentCount:o("documents.[]",function(){return a(this.get("documents"))?this.get("documents").length:0}),parentDir:o("currentDirPath",function(){var e=this.get("currentDirPath").split("/").reject(function(e){return l(e)})
|
||||
return e.splice(0,e.length-1).join("/")+"/"}),connectedChange:i("connected",function(){this.get("connected")||(this.set("model",null),this.set("path",null))}),actions:{deleteDocuments:function(){var e=this,t="This will delete all "+this.get("documentCount")+" documents/files in the current directory. Are you sure?"
|
||||
if(!window.confirm(t))return!1
|
||||
var n=this.get("storage.client"),r=this.get("documents").map(function(e){return console.debug("removing "+e.path),n.remove(e.path)})
|
||||
c(r).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("parentDir")}})})}}})}),define("inspektor/controllers/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Controller,n=Ember.inject.controller,r=Ember.inject.service,o=Ember.computed,i=Ember.computed.alias,s=Ember.isEmpty
|
||||
e.default=t.extend({application:n(),storage:r(),currentDirPath:i("application.currentDirPath"),queryParams:["path"],documentIsJSON:o("model.documentMetaData.type",function(){return!s(this.get("model.documentMetaData"))&&!!this.get("model.documentMetaData.type").match(/application\/json/i)}),jsonView:"tree",jsonShowTree:o.equal("jsonView","tree"),jsonShowSource:o.equal("jsonView","source"),actions:{showJsonTree:function(){this.set("jsonView","tree")},showJsonSource:function(){this.set("jsonView","source")},deleteItem:function(){var e=this
|
||||
window.confirm("Sure?")&&this.get("storage.client").remove(this.get("path")).then(function(){e.transitionToRoute("index",{queryParams:{path:e.get("currentDirPath")}})})}}})}),define("inspektor/helpers/app-version",["exports","inspektor/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
||||
return t.hideSha?o.match(n.versionRegExp)[0]:t.hideVersion?o.match(n.shaRegExp)[0]:o}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=r
|
||||
var o=t.default.APP.version
|
||||
e.default=Ember.Helper.helper(r)}),define("inspektor/helpers/human-file-size",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Helper.helper
|
||||
e.default=t(function(e){if(e<1024)return e+" bytes"
|
||||
var t=-1
|
||||
do{e/=1024,t++}while(e>1024)
|
||||
return String(Math.max(e,.1).toFixed(1)+" "+["KB","MB","GB","TB","PB","EB","ZB","YB"][t])})}),define("inspektor/helpers/pluralize",["exports","ember-inflector/lib/helpers/pluralize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/helpers/singularize",["exports","ember-inflector/lib/helpers/singularize"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","inspektor/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var r=n.default.APP,o=r.name,i=r.version
|
||||
e.default={name:"App Version",initialize:(0,t.default)(o,i)}}),define("inspektor/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
|
||||
e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("inspektor/initializers/data-adapter",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"data-adapter",before:"store",initialize:function(){}}}),define("inspektor/initializers/ember-data",["exports","ember-data/setup-container","ember-data"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}}),define("inspektor/initializers/export-application-global",["exports","inspektor/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
|
||||
if(!1!==t.default.exportApplicationGlobal){var n
|
||||
if("undefined"!=typeof window)n=window
|
||||
else if("undefined"!=typeof global)n=global
|
||||
else{if("undefined"==typeof self)return
|
||||
n=self}var r,o=t.default.exportApplicationGlobal
|
||||
r="string"==typeof o?o:Ember.String.classify(t.default.modulePrefix),n[r]||(n[r]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[r]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("inspektor/initializers/injectStore",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"injectStore",before:"store",initialize:function(){}}}),define("inspektor/initializers/store",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"store",after:"ember-data",initialize:function(){}}}),define("inspektor/initializers/transforms",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"transforms",before:"store",initialize:function(){}}}),define("inspektor/instance-initializers/body-class",["exports","ember-body-class/instance-initializers/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}),define("inspektor/instance-initializers/ember-data",["exports","ember-data/instance-initializers/initialize-store-service"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"ember-data",initialize:t.default}})
|
||||
define("inspektor/resolver",["exports","ember-resolver"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.default}),define("inspektor/router",["exports","inspektor/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Router.extend({location:t.default.locationType,rootURL:t.default.rootURL})
|
||||
n.map(function(){this.route("inspect"),this.route("connect"),this.route("disconnect")}),e.default=n}),define("inspektor/routes/application",["exports","ember-body-class/mixins/body-class"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var n=Ember.Route,r=Ember.inject.service
|
||||
e.default=n.extend(t.default,{storage:r(),beforeModel:function(){var e=this
|
||||
this.get("storage.rs").on("error",function(t){console.debug("rs.on error",t),"Unauthorized"===t.name?e.handleUnauthorized():"DiscoveryError"===t.name||alert("An unknown error occured. Please check the browser console for details.")})},handleUnauthorized:function(){this.get("storage.unauthorized")||(this.get("storage").setProperties({unauthorized:!0,connecting:!1,connected:!1}),this.transitionTo("connect"))}})}),define("inspektor/routes/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.run.later,o=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.connected")&&e.transitionTo("index")})},waitForConnectionState:function(){var e=this
|
||||
return new o(function(t){function n(){e.get("storage.connecting")?r(n,20):t()}n()})}})}),define("inspektor/routes/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service
|
||||
e.default=t.extend({storage:n(),beforeModel:function(){this.get("storage.rs").disconnect(),this.transitionTo("connect")}})}),define("inspektor/routes/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent,i=Ember.run.later,s=Ember.RSVP.hash,a=Ember.RSVP.Promise
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},beforeModel:function(){var e=this
|
||||
return this.waitForConnectionState().then(function(){e.get("storage.disconnected")&&e.transitionTo("connect")})},model:function(e){var t=e.path
|
||||
return r(e.path)?null:("/"!==t.substr(-1)&&(t+="/"),s({currentListing:this.get("storage").fetchListing(t),currentDirPath:t}))},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&(e.set("currentDirPath",t.currentDirPath),r(t.currentListing)&&this.transitionTo("index",{queryParams:{path:e.get("parentDir")}}))},waitForConnectionState:function(){var e=this
|
||||
return new a(function(t){function n(){e.get("storage.connecting")?i(n,20):t()}n()})}})}),define("inspektor/routes/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var t=Ember.Route,n=Ember.inject.service,r=Ember.isEmpty,o=Ember.isPresent
|
||||
e.default=t.extend({storage:n(),queryParams:{path:{refreshModel:!0}},model:function(e){var t=e.path
|
||||
r(e.path),t.substr(-1)
|
||||
var n=t.match(/^(.*\/).+$/)[1],o=t.match(/^.*\/(.+)$/)[1]
|
||||
return this.get("storage").fetchListing(n).then(function(e){return e.findBy("name",o)}).then(function(e){return{documentMetaData:e,currentDirPath:n}})},setupController:function(e,t){this._super(e,t),r(this.get("storage.categories"))&&this.get("storage.connected")&&this.get("storage").fetchRootListing(),o(t)&&e.set("currentDirPath",t.currentDirPath)}})}),define("inspektor/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("inspektor/services/storage",["exports","npm:remotestoragejs","npm:remotestorage-widget","inspektor/utils/simple-content-type"],function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0})
|
||||
var o=Ember.Object,i=Ember.Service,s=Ember.computed,a=Ember.observer,l=Ember.isEmpty
|
||||
e.default=i.extend({rs:null,widget:null,connecting:!0,connected:!1,unauthorized:!1,userAddress:null,disconnected:s.not("connected"),client:null,rootListing:null,setup:function(){var e=this,r=new t.default({cache:!1})
|
||||
r.access.claim("*","rw")
|
||||
var o=new n.default(r,{skipInitial:!0})
|
||||
o.attach(),r.on("ready",function(){console.debug("rs.on ready")}),r.on("connected",function(){console.debug("rs.on connected"),e.set("connecting",!1),e.set("connected",!0),e.set("userAddress",e.get("rs").remote.userAddress)}),r.on("not-connected",function(){console.debug("rs.on not-connected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("disconnected",function(){console.debug("rs.on disconnected"),e.set("connecting",!1),e.set("connected",!1)}),r.on("connecting",function(){console.debug("rs.on connecting"),e.set("connecting",!0),e.set("connected",!1)}),r.on("authing",function(){console.debug("rs.on authing"),e.set("connecting",!0),e.set("connected",!1)}),this.set("rs",r),this.set("widget",o),this.set("client",r.scope("/"))}.on("init"),connectedChange:a("connected",function(){this.get("connected")?this.fetchRootListing():this.clearLocalData()}),clearLocalData:function(){this.setProperties({userAddress:null,rootListing:null})},fetchRootListing:function(){var e=this
|
||||
this.fetchListing("").then(function(t){e.set("rootListing",t.sortBy("name"))})},fetchListing:function(e){var t=[]
|
||||
return this.get("client").getListing(e).then(function(n){return l(n)?[]:(Object.keys(n).forEach(function(i){var s=n[i],a=s["Content-Type"]||"folder",l=!1
|
||||
"folder"!==a&&(l=!!a.match(/charset=binary/),a=(0,r.default)(a)),t.push(o.create({name:i,type:a,isBinary:l,isFolder:"folder"===a,size:s["Content-Length"]||null,path:e+i,etag:s.ETag}))}),t)})}})}),define("inspektor/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"HpeupCPN",block:'{"symbols":[],"statements":[[6,"div"],[9,"id","app-container"],[10,"class",[18,"connectedClass"],null],[7],[0,"\\n "],[6,"aside"],[7],[0,"\\n"],[4,"if",[[20,["connected"]]],null,{"statements":[[0," "],[1,[25,"account-info",null,[["userAddress"],[[20,["userAddress"]]]]],false],[0,"\\n "],[1,[25,"categories-nav",null,[["categories"],[[20,["categories"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n "],[6,"main"],[7],[0,"\\n "],[1,[18,"outlet"],false],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/application.hbs"}})}),define("inspektor/templates/connect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VjXcIYnG",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"inspektor/templates/connect.hbs"}})}),define("inspektor/templates/disconnect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"2ZbVbnJi",block:'{"symbols":[],"statements":[[1,[18,"outlet"],false]],"hasEval":false}',meta:{moduleName:"inspektor/templates/disconnect.hbs"}})}),define("inspektor/templates/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"niZ23686",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["currentListingContainsDocuments"]]],null,{"statements":[[0," "],[6,"button"],[9,"class","delete-all"],[3,"action",[[19,0,[]],"deleteDocuments"]],[7],[0,"delete all"],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[4,"if",[[20,["currentListing"]]],null,{"statements":[[0," "],[1,[25,"directory-listing",null,[["items"],[[20,["currentListing"]]]]],false],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"inspektor/templates/index.hbs"}})}),define("inspektor/templates/inspect",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"UoZns/4Y",block:'{"symbols":[],"statements":[[6,"header"],[7],[0,"\\n "],[1,[25,"breadcrumb-nav",null,[["currentDirPath"],[[20,["currentDirPath"]]]]],false],[0,"\\n "],[6,"nav"],[9,"class","actions"],[7],[0,"\\n"],[4,"if",[[20,["documentIsJSON"]]],null,{"statements":[[0," "],[6,"div"],[9,"class","button-group json-view"],[7],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowTree"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowTree"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonTree"]],[7],[0,"tree view"],[8],[0,"\\n "],[6,"button"],[10,"disabled",[18,"jsonShowSource"],null],[10,"class",[26,[[25,"if",[[20,["jsonShowSource"]],"active"],null]]]],[3,"action",[[19,0,[]],"showJsonSource"]],[7],[0,"source"],[8],[0,"\\n "],[8],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"button"],[9,"class","delete"],[3,"action",[[19,0,[]],"deleteItem"]],[7],[0,"delete"],[8],[0,"\\n "],[8],[0,"\\n"],[8],[0,"\\n\\n"],[6,"div"],[9,"class","inspect-details"],[7],[0,"\\n "],[6,"section"],[9,"class","content"],[7],[0,"\\n "],[1,[25,"file-preview",null,[["metaData","isJSON","jsonShowTree","jsonShowSource"],[[20,["model","documentMetaData"]],[20,["documentIsJSON"]],[20,["jsonShowTree"]],[20,["jsonShowSource"]]]]],false],[0,"\\n "],[8],[0,"\\n "],[6,"section"],[9,"class","meta"],[7],[0,"\\n "],[6,"dl"],[7],[0,"\\n "],[6,"dt"],[7],[0,"Name"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","name"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Content type"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","type"]],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Size"],[8],[0,"\\n "],[6,"dd"],[7],[1,[25,"human-file-size",[[20,["model","documentMetaData","size"]]],null],false],[8],[0,"\\n "],[6,"dt"],[7],[0,"Revision (ETag)"],[8],[0,"\\n "],[6,"dd"],[7],[1,[20,["model","documentMetaData","etag"]],false],[8],[0,"\\n "],[8],[0,"\\n "],[8],[0,"\\n"],[8]],"hasEval":false}',meta:{moduleName:"inspektor/templates/inspect.hbs"}})}),define("inspektor/utils/simple-content-type",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.replace(/;.*$/,"")}}),define("inspektor/config/environment",[],function(){try{var e="inspektor/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(unescape(t))}
|
||||
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("inspektor/app").default.create({name:"inspektor",version:"0.7.1+3deca81c"})
|