@girder/core 3.2.8 → 5.0.0-a7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -0
- package/package.json +79 -31
- package/assets/Girder_Mark.png +0 -0
- package/auth.js +0 -152
- package/collections/ApiKeyCollection.js +0 -9
- package/collections/AssetstoreCollection.js +0 -9
- package/collections/Collection.js +0 -295
- package/collections/CollectionCollection.js +0 -9
- package/collections/FileCollection.js +0 -11
- package/collections/FolderCollection.js +0 -11
- package/collections/GroupCollection.js +0 -9
- package/collections/ItemCollection.js +0 -11
- package/collections/UserCollection.js +0 -24
- package/collections/index.js +0 -21
- package/constants.js +0 -33
- package/dialog.js +0 -128
- package/events.js +0 -6
- package/index.js +0 -31
- package/main.js +0 -21
- package/misc.js +0 -260
- package/models/AccessControlledModel.js +0 -76
- package/models/ApiKeyModel.js +0 -31
- package/models/AssetstoreModel.js +0 -43
- package/models/CollectionCreationPolicyModel.js +0 -20
- package/models/CollectionModel.js +0 -12
- package/models/FileModel.js +0 -310
- package/models/FolderModel.js +0 -33
- package/models/GroupModel.js +0 -197
- package/models/ItemModel.js +0 -72
- package/models/MetadataMixin.js +0 -88
- package/models/Model.js +0 -187
- package/models/UserModel.js +0 -189
- package/models/index.js +0 -25
- package/pluginUtils.js +0 -11
- package/rest.js +0 -216
- package/router.js +0 -58
- package/routes.js +0 -231
- package/stylesheets/apidocs/apidocs.styl +0 -50
- package/stylesheets/body/adminConsole.styl +0 -21
- package/stylesheets/body/assetstores.styl +0 -46
- package/stylesheets/body/collectionList.styl +0 -39
- package/stylesheets/body/collectionPage.styl +0 -6
- package/stylesheets/body/frontPage.styl +0 -48
- package/stylesheets/body/groupList.styl +0 -43
- package/stylesheets/body/groupPage.styl +0 -116
- package/stylesheets/body/itemPage.styl +0 -81
- package/stylesheets/body/plugins.styl +0 -61
- package/stylesheets/body/searchResultsList.styl +0 -51
- package/stylesheets/body/systemConfig.styl +0 -56
- package/stylesheets/body/userAccount.styl +0 -57
- package/stylesheets/body/userList.styl +0 -79
- package/stylesheets/body/userPage.styl +0 -6
- package/stylesheets/layout/footer.styl +0 -19
- package/stylesheets/layout/global.styl +0 -154
- package/stylesheets/layout/globalNav.styl +0 -89
- package/stylesheets/layout/header.styl +0 -29
- package/stylesheets/layout/headerUser.styl +0 -33
- package/stylesheets/layout/layout.styl +0 -75
- package/stylesheets/layout/layoutVars.styl +0 -9
- package/stylesheets/layout/loading.styl +0 -37
- package/stylesheets/layout/progressArea.styl +0 -17
- package/stylesheets/widgets/accessWidget.styl +0 -106
- package/stylesheets/widgets/browserWidget.styl +0 -9
- package/stylesheets/widgets/hierarchyWidget.styl +0 -188
- package/stylesheets/widgets/markdownWidget.styl +0 -92
- package/stylesheets/widgets/metadataWidget.styl +0 -92
- package/stylesheets/widgets/searchFieldWidget.styl +0 -70
- package/stylesheets/widgets/taskProgress.styl +0 -41
- package/stylesheets/widgets/timelineWidget.styl +0 -41
- package/stylesheets/widgets/uploadWidget.styl +0 -43
- package/stylesheets/widgets/userOtpManagementWidget.styl +0 -159
- package/templates/body/adminConsole.pug +0 -13
- package/templates/body/assetstores.pug +0 -98
- package/templates/body/collectionList.pug +0 -40
- package/templates/body/collectionPage.pug +0 -36
- package/templates/body/filesystemImport.pug +0 -41
- package/templates/body/frontPage.pug +0 -83
- package/templates/body/groupList.pug +0 -30
- package/templates/body/groupPage.pug +0 -116
- package/templates/body/itemPage.pug +0 -61
- package/templates/body/plugins.pug +0 -20
- package/templates/body/s3Import.pug +0 -35
- package/templates/body/searchResults.pug +0 -15
- package/templates/body/searchResultsType.pug +0 -13
- package/templates/body/systemConfiguration.pug +0 -221
- package/templates/body/userAccount.pug +0 -83
- package/templates/body/userList.pug +0 -43
- package/templates/body/userPage.pug +0 -40
- package/templates/layout/alert.pug +0 -5
- package/templates/layout/layout.pug +0 -12
- package/templates/layout/layoutFooter.pug +0 -11
- package/templates/layout/layoutGlobalNav.pug +0 -7
- package/templates/layout/layoutHeader.pug +0 -8
- package/templates/layout/layoutHeaderUser.pug +0 -26
- package/templates/layout/layoutProgressArea.pug +0 -1
- package/templates/layout/loginDialog.pug +0 -30
- package/templates/layout/registerDialog.pug +0 -35
- package/templates/layout/resetPasswordDialog.pug +0 -25
- package/templates/widgets/accessEditor.pug +0 -23
- package/templates/widgets/accessEditorMixins.pug +0 -57
- package/templates/widgets/accessEditorNonModal.pug +0 -11
- package/templates/widgets/accessEntry.pug +0 -32
- package/templates/widgets/apiKeyList.pug +0 -50
- package/templates/widgets/browserWidget.pug +0 -32
- package/templates/widgets/checkedActionsMenu.pug +0 -46
- package/templates/widgets/collectionInfoDialog.pug +0 -37
- package/templates/widgets/confirmDialog.pug +0 -14
- package/templates/widgets/dateTimeRangeWidget.pug +0 -20
- package/templates/widgets/dateTimeWidget.pug +0 -8
- package/templates/widgets/editApiKeyWidget.pug +0 -43
- package/templates/widgets/editAssetstoreWidget.pug +0 -78
- package/templates/widgets/editCollectionWidget.pug +0 -27
- package/templates/widgets/editFileWidget.pug +0 -21
- package/templates/widgets/editFolderWidget.pug +0 -27
- package/templates/widgets/editGroupWidget.pug +0 -54
- package/templates/widgets/editItemWidget.pug +0 -27
- package/templates/widgets/fileInfoDialog.pug +0 -33
- package/templates/widgets/fileList.pug +0 -33
- package/templates/widgets/folderInfoDialog.pug +0 -42
- package/templates/widgets/folderList.pug +0 -21
- package/templates/widgets/groupAdminList.pug +0 -33
- package/templates/widgets/groupInviteDialog.pug +0 -76
- package/templates/widgets/groupInviteList.pug +0 -14
- package/templates/widgets/groupMemberList.pug +0 -39
- package/templates/widgets/groupModList.pug +0 -23
- package/templates/widgets/hierarchyBreadcrumb.pug +0 -37
- package/templates/widgets/hierarchyPaginated.pug +0 -19
- package/templates/widgets/hierarchyWidget.pug +0 -96
- package/templates/widgets/itemBreadcrumb.pug +0 -16
- package/templates/widgets/itemList.pug +0 -27
- package/templates/widgets/jsonMetadatumEditWidget.pug +0 -13
- package/templates/widgets/jsonMetadatumView.pug +0 -6
- package/templates/widgets/loadingAnimation.pug +0 -4
- package/templates/widgets/markdownWidget.pug +0 -34
- package/templates/widgets/metadataWidget.pug +0 -16
- package/templates/widgets/metadatumEditWidget.pug +0 -15
- package/templates/widgets/metadatumView.pug +0 -5
- package/templates/widgets/newAssetstore.pug +0 -118
- package/templates/widgets/paginateWidget.pug +0 -7
- package/templates/widgets/pluginConfigBreadcrumb.pug +0 -13
- package/templates/widgets/rootSelectorWidget.pug +0 -13
- package/templates/widgets/searchField.pug +0 -10
- package/templates/widgets/searchHelp.pug +0 -12
- package/templates/widgets/searchModeSelect.pug +0 -9
- package/templates/widgets/searchResults.pug +0 -14
- package/templates/widgets/sortCollectionWidget.pug +0 -14
- package/templates/widgets/taskProgress.pug +0 -16
- package/templates/widgets/timeline.pug +0 -15
- package/templates/widgets/uploadWidget.pug +0 -15
- package/templates/widgets/uploadWidgetMixins.pug +0 -31
- package/templates/widgets/uploadWidgetNonModal.pug +0 -10
- package/templates/widgets/userOtpBegin.pug +0 -4
- package/templates/widgets/userOtpDisable.pug +0 -6
- package/templates/widgets/userOtpEnable.pug +0 -44
- package/utilities/EventStream.js +0 -177
- package/utilities/PluginUtils.js +0 -36
- package/utilities/S3UploadHandler.js +0 -303
- package/utilities/index.js +0 -9
- package/utilities/jquery/girderEnable.js +0 -19
- package/utilities/jquery/girderModal.js +0 -48
- package/version.js +0 -10
- package/views/App.js +0 -359
- package/views/View.js +0 -78
- package/views/body/AdminView.js +0 -29
- package/views/body/AssetstoresView.js +0 -235
- package/views/body/CollectionView.js +0 -188
- package/views/body/CollectionsView.js +0 -120
- package/views/body/FilesystemImportView.js +0 -83
- package/views/body/FolderView.js +0 -54
- package/views/body/FrontPageView.js +0 -47
- package/views/body/GroupView.js +0 -336
- package/views/body/GroupsView.js +0 -106
- package/views/body/ItemView.js +0 -177
- package/views/body/PluginsView.js +0 -73
- package/views/body/S3ImportView.js +0 -80
- package/views/body/SearchResultsView.js +0 -162
- package/views/body/SystemConfigurationView.js +0 -196
- package/views/body/UserAccountView.js +0 -179
- package/views/body/UserView.js +0 -165
- package/views/body/UsersView.js +0 -124
- package/views/body/index.js +0 -37
- package/views/index.js +0 -13
- package/views/layout/FooterView.js +0 -29
- package/views/layout/GlobalNavView.js +0 -103
- package/views/layout/HeaderUserView.js +0 -45
- package/views/layout/HeaderView.js +0 -83
- package/views/layout/LoginView.js +0 -100
- package/views/layout/ProgressListView.js +0 -70
- package/views/layout/RegisterView.js +0 -101
- package/views/layout/ResetPasswordView.js +0 -70
- package/views/layout/index.js +0 -19
- package/views/widgets/AccessWidget.js +0 -427
- package/views/widgets/ApiKeyListWidget.js +0 -140
- package/views/widgets/BrowserWidget.js +0 -317
- package/views/widgets/CheckedMenuWidget.js +0 -68
- package/views/widgets/CollectionInfoWidget.js +0 -40
- package/views/widgets/DateTimeRangeWidget.js +0 -179
- package/views/widgets/DateTimeWidget.js +0 -109
- package/views/widgets/EditApiKeyWidget.js +0 -122
- package/views/widgets/EditAssetstoreWidget.js +0 -148
- package/views/widgets/EditCollectionWidget.js +0 -93
- package/views/widgets/EditFileWidget.js +0 -56
- package/views/widgets/EditFolderWidget.js +0 -116
- package/views/widgets/EditGroupWidget.js +0 -125
- package/views/widgets/EditItemWidget.js +0 -110
- package/views/widgets/FileInfoWidget.js +0 -26
- package/views/widgets/FileListWidget.js +0 -151
- package/views/widgets/FolderInfoWidget.js +0 -39
- package/views/widgets/FolderListWidget.js +0 -106
- package/views/widgets/GroupAdminsWidget.js +0 -88
- package/views/widgets/GroupInvitesWidget.js +0 -56
- package/views/widgets/GroupMembersWidget.js +0 -185
- package/views/widgets/GroupModsWidget.js +0 -77
- package/views/widgets/HierarchyWidget.js +0 -1097
- package/views/widgets/ItemBreadcrumbWidget.js +0 -38
- package/views/widgets/ItemListWidget.js +0 -345
- package/views/widgets/LoadingAnimation.js +0 -17
- package/views/widgets/MarkdownWidget.js +0 -217
- package/views/widgets/MetadataWidget.js +0 -504
- package/views/widgets/NewAssetstoreWidget.js +0 -81
- package/views/widgets/PaginateWidget.js +0 -37
- package/views/widgets/PluginConfigBreadcrumbWidget.js +0 -33
- package/views/widgets/RootSelectorWidget.js +0 -192
- package/views/widgets/SearchFieldWidget.js +0 -365
- package/views/widgets/SearchPaginateWidget.js +0 -149
- package/views/widgets/SortCollectionWidget.js +0 -53
- package/views/widgets/TaskProgressWidget.js +0 -91
- package/views/widgets/TimelineWidget.js +0 -155
- package/views/widgets/UploadWidget.js +0 -340
- package/views/widgets/UserOtpManagementWidget.js +0 -105
- package/views/widgets/index.js +0 -75
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
ul.g-admin-options
|
|
2
|
-
li
|
|
3
|
-
a.g-server-config(href="#settings")
|
|
4
|
-
i.icon-cog-alt
|
|
5
|
-
| Server configuration
|
|
6
|
-
li
|
|
7
|
-
a.g-plugins-config(href="#plugins")
|
|
8
|
-
i.icon-puzzle
|
|
9
|
-
| Plugins
|
|
10
|
-
li
|
|
11
|
-
a.g-assetstore-config(href="#assetstores")
|
|
12
|
-
i.icon-box-1
|
|
13
|
-
| Assetstores
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
.g-current-assetstores-container
|
|
2
|
-
.g-body-title Assetstores
|
|
3
|
-
if !assetstores.length
|
|
4
|
-
.g-bottom-message.
|
|
5
|
-
You must create an assetstore before you can upload files to the server.
|
|
6
|
-
Select from the options below to create one.
|
|
7
|
-
else
|
|
8
|
-
.g-bottom-message.
|
|
9
|
-
Below is a list of all of the assetstores available to the server. The
|
|
10
|
-
one set as "current" is the one that uploaded files will be written to.
|
|
11
|
-
each assetstore in assetstores
|
|
12
|
-
.g-assetstore-container.panel.panel-default(class=assetstore.get('current') ? 'g-assetstore-current' : undefined)
|
|
13
|
-
.panel-body
|
|
14
|
-
.g-assetstore-info-section(assetstore-type=assetstore.get('type'), cid=assetstore.cid)
|
|
15
|
-
div
|
|
16
|
-
b Name:
|
|
17
|
-
span.g-assetstore-name #{assetstore.get('name')}
|
|
18
|
-
if assetstore.get('current')
|
|
19
|
-
span.g-assetstore-current-text
|
|
20
|
-
| (Current assetstore)
|
|
21
|
-
div
|
|
22
|
-
b Unique ID:
|
|
23
|
-
span.g-assetstore-id #{assetstore.id}
|
|
24
|
-
if assetstore.get('type') === types.FILESYSTEM
|
|
25
|
-
div
|
|
26
|
-
b Type:
|
|
27
|
-
span.g-assetstore-type Filesystem
|
|
28
|
-
div
|
|
29
|
-
b Root path:
|
|
30
|
-
span.g-assetstore-root #{assetstore.get('root')}
|
|
31
|
-
div
|
|
32
|
-
b File creation permissions (octal):
|
|
33
|
-
span.g-assetstore-perms #{(assetstore.get('perms') || 0o600).toString(8)}
|
|
34
|
-
else if assetstore.get('type') === types.GRIDFS
|
|
35
|
-
div
|
|
36
|
-
b Type:
|
|
37
|
-
span.g-assetstore-type GridFS
|
|
38
|
-
div
|
|
39
|
-
b Database name:
|
|
40
|
-
span.g-assetstore-root #{assetstore.get('db')}
|
|
41
|
-
if assetstore.get('mongohost')
|
|
42
|
-
div
|
|
43
|
-
b Mongo Host URI:
|
|
44
|
-
span.g-assetstore-mongohost #{assetstore.get('mongohost')}
|
|
45
|
-
if assetstore.get('replicaset')
|
|
46
|
-
div
|
|
47
|
-
b Replica Set:
|
|
48
|
-
span.g-assetstore-replicaset #{assetstore.get('replicaset')}
|
|
49
|
-
else if assetstore.get('type') === types.S3
|
|
50
|
-
div
|
|
51
|
-
b Type:
|
|
52
|
-
span.g-assetstore-type S3
|
|
53
|
-
div
|
|
54
|
-
b Bucket:
|
|
55
|
-
span.g-assetstore-bucket #{assetstore.get('bucket')}
|
|
56
|
-
if assetstore.get('prefix')
|
|
57
|
-
div
|
|
58
|
-
b Path prefix:
|
|
59
|
-
span.g-assetstore-prefix #{assetstore.get('prefix')}
|
|
60
|
-
div
|
|
61
|
-
b Access key ID:
|
|
62
|
-
span.g-access-key-id #{assetstore.get('accessKeyId')}
|
|
63
|
-
div
|
|
64
|
-
b Secret access key:
|
|
65
|
-
span.g-secret-key #{assetstore.get('secret') && '[hidden]'}
|
|
66
|
-
div
|
|
67
|
-
b Service:
|
|
68
|
-
span.g-service-key #{assetstore.get('service')}
|
|
69
|
-
div
|
|
70
|
-
b Region:
|
|
71
|
-
span.g-region-key #{assetstore.get('region')}
|
|
72
|
-
|
|
73
|
-
if assetstore.capacityKnown()
|
|
74
|
-
div
|
|
75
|
-
b Capacity:
|
|
76
|
-
span.g-assetstore-capacity #{assetstore.capacityString()}
|
|
77
|
-
.g-assetstore-capacity-chart(cid=assetstore.cid)
|
|
78
|
-
.g-assetstore-buttons
|
|
79
|
-
button.g-edit-assetstore.btn.btn-sm.btn-default(
|
|
80
|
-
cid=assetstore.cid) Edit
|
|
81
|
-
if !assetstore.get('hasFiles')
|
|
82
|
-
button.g-delete-assetstore.btn.btn-sm.btn-danger(
|
|
83
|
-
cid=assetstore.cid) Delete
|
|
84
|
-
else
|
|
85
|
-
.g-assetstore-button-container(title="You must delete all files from the assetstore before you can delete the assetstore.")
|
|
86
|
-
button.g-delete-assetstore.btn.btn-sm.btn-danger.disabled(
|
|
87
|
-
cid=assetstore.cid, disabled) Delete
|
|
88
|
-
if !assetstore.get('current') && !assetstore.get('readOnly')
|
|
89
|
-
button.g-set-current.btn.btn-sm.btn-primary(
|
|
90
|
-
cid=assetstore.cid) Set as current
|
|
91
|
-
|
|
92
|
-
if importableTypes.indexOf(assetstore.get('type')) !== -1
|
|
93
|
-
.g-assetstore-import-button-container
|
|
94
|
-
a.g-import-button.btn.btn-sm.btn-success(href=`#assetstore/${assetstore.id}/import`)
|
|
95
|
-
i.icon-link-ext
|
|
96
|
-
| Import data
|
|
97
|
-
|
|
98
|
-
#g-new-assetstore-container
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
.g-collection-list-header
|
|
2
|
-
|
|
3
|
-
.g-collection-pagination
|
|
4
|
-
form.g-collection-search-form.form-inline(role="form")
|
|
5
|
-
.form-group.g-collections-search-container
|
|
6
|
-
|
|
7
|
-
if getCurrentUser()
|
|
8
|
-
button.g-collection-create-button.btn.btn-sm.btn-default
|
|
9
|
-
i.icon-plus-squared
|
|
10
|
-
| Create collection
|
|
11
|
-
|
|
12
|
-
each collection in collections
|
|
13
|
-
.g-collection-list-entry.g-top-level-list-entry(public=(collection.get('public') ? "true" : "false"))
|
|
14
|
-
.g-collection-right-column
|
|
15
|
-
.g-collection-created
|
|
16
|
-
i.icon-clock
|
|
17
|
-
| Created on
|
|
18
|
-
span.g-collection-created-date #{formatDate(collection.get('created'), DATE_MINUTE)}
|
|
19
|
-
if collection.has('size')
|
|
20
|
-
.g-space-used
|
|
21
|
-
i.icon-floppy
|
|
22
|
-
| Currently using
|
|
23
|
-
span.g-user-space-used #{formatSize(collection.get('size'))}
|
|
24
|
-
.g-list-public-status-icon
|
|
25
|
-
if collection.get('public')
|
|
26
|
-
i.icon-globe(title="Public collection")
|
|
27
|
-
else
|
|
28
|
-
i.icon-lock(title="Private collection")
|
|
29
|
-
.g-top-level-list-title-container
|
|
30
|
-
.g-collection-title
|
|
31
|
-
a.g-collection-link(g-collection-cid=collection.cid)
|
|
32
|
-
b= collection.name()
|
|
33
|
-
span.g-text-fade(public=(collection.get('public') ? 'true' : 'false'))
|
|
34
|
-
if collection.get('description')
|
|
35
|
-
.g-collection-subtitle
|
|
36
|
-
a.g-show-description(state="hidden", cid=collection.cid)
|
|
37
|
-
span Show description
|
|
38
|
-
i.icon-down-dir
|
|
39
|
-
.g-clear-right
|
|
40
|
-
.g-collection-description.hide(cid=collection.cid)
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
.g-collection-header
|
|
2
|
-
|
|
3
|
-
.btn-group.pull-right
|
|
4
|
-
button.g-collection-actions-button.btn.btn-default.dropdown-toggle(
|
|
5
|
-
data-toggle="dropdown", title="Collection actions")
|
|
6
|
-
i.icon-sitemap
|
|
7
|
-
| Actions
|
|
8
|
-
i.icon-down-dir
|
|
9
|
-
ul.g-collection-actions-menu.dropdown-menu.pull-right(role="menu")
|
|
10
|
-
li(role="presentation")
|
|
11
|
-
a.g-download-collection(role="menuitem", href=collection.downloadUrl())
|
|
12
|
-
i.icon-download
|
|
13
|
-
| Download collection
|
|
14
|
-
if (collection.getAccessLevel() >= AccessType.WRITE)
|
|
15
|
-
li.divider(role="presentation")
|
|
16
|
-
li(role="presentation")
|
|
17
|
-
a.g-edit-collection(role="menuitem")
|
|
18
|
-
i.icon-edit
|
|
19
|
-
| Edit collection
|
|
20
|
-
if (collection.getAccessLevel() >= AccessType.ADMIN)
|
|
21
|
-
li.divider(role="presentation")
|
|
22
|
-
li(role="presentation")
|
|
23
|
-
a.g-collection-access-control(role="menuitem")
|
|
24
|
-
i.icon-lock
|
|
25
|
-
| Access control
|
|
26
|
-
li(role="presentation")
|
|
27
|
-
a.g-delete-collection(role="menuitem")
|
|
28
|
-
i.icon-trash
|
|
29
|
-
| Delete collection
|
|
30
|
-
|
|
31
|
-
.g-collection-name.g-body-title= collection.name()
|
|
32
|
-
if collection.get('description')
|
|
33
|
-
.g-collection-description!= renderMarkdown(collection.get('description'))
|
|
34
|
-
.g-clear-right
|
|
35
|
-
|
|
36
|
-
.g-collection-hierarchy-container
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
.g-body-title Import existing data from the filesystem
|
|
2
|
-
.g-body-subtitle= assetstore.name()
|
|
3
|
-
|
|
4
|
-
.g-import-instructions.
|
|
5
|
-
Use this page to import existing data from this assetstore's filesystem.
|
|
6
|
-
Specify a root directory on the filesystem, and it will be imported recursively.
|
|
7
|
-
The directory does not need to be under the assetstore's root dir. You must also
|
|
8
|
-
specify a destination collection, user, or folder ID under which to place the
|
|
9
|
-
imported data. Files that are imported are not managed directly by the server.
|
|
10
|
-
They will not be copied, but will be served from their existing location. When
|
|
11
|
-
the referencing files in Girder are deleted, the underlying imported file will
|
|
12
|
-
not be removed.
|
|
13
|
-
|
|
14
|
-
form.g-filesystem-import-form
|
|
15
|
-
.form-group
|
|
16
|
-
label(for="g-filesystem-import-path") Import path (absolute path to directory or file)
|
|
17
|
-
input#g-filesystem-import-path.form-control.input-sm(type="text")
|
|
18
|
-
.form-group
|
|
19
|
-
label(for="g-filesystem-import-dest-type") Destination type
|
|
20
|
-
select#g-filesystem-import-dest-type.form-control
|
|
21
|
-
option(value="folder") Folder
|
|
22
|
-
option(value="user") User
|
|
23
|
-
option(value="collection") Collection
|
|
24
|
-
.form-group
|
|
25
|
-
label(for="g-filesystem-import-dest-id") Destination ID
|
|
26
|
-
.input-group.input-group-sm
|
|
27
|
-
input#g-filesystem-import-dest-id.form-control.input-sm(
|
|
28
|
-
type="text",
|
|
29
|
-
placeholder="Existing folder, user, or collection ID to use as the destination")
|
|
30
|
-
.input-group-btn
|
|
31
|
-
button.g-open-browser.btn.btn-default(type="button")
|
|
32
|
-
i.icon-folder-open
|
|
33
|
-
.form-group
|
|
34
|
-
label(for="g-filesystem-import-leaf-items") Leaf Folders as Items
|
|
35
|
-
select#g-filesystem-import-leaf-items.form-control
|
|
36
|
-
option(value="false") False
|
|
37
|
-
option(value="true") True
|
|
38
|
-
.g-validation-failed-message
|
|
39
|
-
button.g-submit-assetstore-import.btn.btn-success(type="submit")
|
|
40
|
-
i.icon-link-ext
|
|
41
|
-
| Begin import
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
.g-frontpage-header
|
|
2
|
-
.g-frontpage-logo-container
|
|
3
|
-
img.g-frontpage-logo(src=require('@girder/core/assets/Girder_Mark.png'))
|
|
4
|
-
.g-frontpage-title-container
|
|
5
|
-
.g-frontpage-title #{brandName}
|
|
6
|
-
.g-frontpage-subtitle Data management platform
|
|
7
|
-
|
|
8
|
-
.g-frontpage-body
|
|
9
|
-
.g-frontpage-paragraph
|
|
10
|
-
.g-frontpage-welcome-text-content
|
|
11
|
-
b.g-frontpage-welcome-text Welcome to #{brandName}!
|
|
12
|
-
|
|
13
|
-
ul
|
|
14
|
-
if !currentUser
|
|
15
|
-
li You are currently browsing anonymously.
|
|
16
|
-
ul
|
|
17
|
-
li
|
|
18
|
-
| To explore the data hosted on this server, start with the
|
|
19
|
-
a.g-collections-link(href="#collections") Collections
|
|
20
|
-
| page.
|
|
21
|
-
|
|
22
|
-
li
|
|
23
|
-
| To create an account, use the
|
|
24
|
-
a.g-register-link Register
|
|
25
|
-
| link in the upper right corner.
|
|
26
|
-
|
|
27
|
-
li
|
|
28
|
-
| If you already have an account you can
|
|
29
|
-
a.g-login-link log in
|
|
30
|
-
| with the link in the upper right corner.
|
|
31
|
-
else
|
|
32
|
-
li
|
|
33
|
-
| You are currently logged in as
|
|
34
|
-
b #{currentUser.get('login')}
|
|
35
|
-
| .
|
|
36
|
-
|
|
37
|
-
ul
|
|
38
|
-
li
|
|
39
|
-
| To explore the data hosted on this server, start with the
|
|
40
|
-
a.g-collections-link(href="#collections") Collections
|
|
41
|
-
| page.
|
|
42
|
-
|
|
43
|
-
li
|
|
44
|
-
| To explore your data, go to your
|
|
45
|
-
a.g-my-folders-link(href=`#user/${currentUser.id}`) personal data space
|
|
46
|
-
| or your
|
|
47
|
-
a.g-my-account-link(href=`#useraccount/${currentUser.id}/info`) user account page
|
|
48
|
-
| .
|
|
49
|
-
|
|
50
|
-
li
|
|
51
|
-
if brandName === 'Girder'
|
|
52
|
-
| Girder is
|
|
53
|
-
else
|
|
54
|
-
| #{brandName} is powered by Girder,
|
|
55
|
-
| Kitware's open-source platform for data management, analytics, and
|
|
56
|
-
| visualization. To learn more about how Kitware and Girder can help to solve your
|
|
57
|
-
| data challenges, read our series of
|
|
58
|
-
a(target="_blank", href="https://blog.kitware.com/tag/girder/") blog posts
|
|
59
|
-
| or
|
|
60
|
-
a(target="_blank", href="http://www.kitware.com/contact-us") contact us
|
|
61
|
-
| directly.
|
|
62
|
-
|
|
63
|
-
ul
|
|
64
|
-
li
|
|
65
|
-
| To learn more about Girder's software, including how you can host your own
|
|
66
|
-
| instance either locally or in the cloud, see the
|
|
67
|
-
a(target="_blank", href="http://girder.readthedocs.io/en/latest/user-guide.html") User Guide
|
|
68
|
-
| , the
|
|
69
|
-
a(target="_blank", href="http://girder.readthedocs.io/en/latest") full documentation
|
|
70
|
-
| , or visit the
|
|
71
|
-
a(target="_blank", href="https://github.com/girder/girder") GitHub repository
|
|
72
|
-
| .
|
|
73
|
-
|
|
74
|
-
li
|
|
75
|
-
| To use the REST API to interact with this server, check out the
|
|
76
|
-
a(href=apiRoot) interactive web API docs
|
|
77
|
-
| .
|
|
78
|
-
|
|
79
|
-
if version
|
|
80
|
-
li
|
|
81
|
-
| This instance of #{brandName} was built from version
|
|
82
|
-
code.g-version= version
|
|
83
|
-
| .
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
.g-groups-list-header
|
|
2
|
-
|
|
3
|
-
.g-group-pagination
|
|
4
|
-
form.g-group-search-form.form-inline(role="form")
|
|
5
|
-
.form-group.g-groups-search-container
|
|
6
|
-
|
|
7
|
-
if getCurrentUser()
|
|
8
|
-
button.g-group-create-button.btn.btn-sm.btn-default
|
|
9
|
-
i.icon-plus-squared
|
|
10
|
-
| Create Group
|
|
11
|
-
|
|
12
|
-
each group in groups
|
|
13
|
-
.g-group-list-entry.g-top-level-list-entry(public=(group.get('public') ? "true" : "false"))
|
|
14
|
-
.g-group-right-column
|
|
15
|
-
.g-group-created
|
|
16
|
-
i.icon-clock
|
|
17
|
-
| Created on
|
|
18
|
-
span.g-group-created-date #{formatDate(group.get('created'), DATE_DAY)}
|
|
19
|
-
.g-list-public-status-icon
|
|
20
|
-
if group.get('public')
|
|
21
|
-
i.icon-globe(title="Public group")
|
|
22
|
-
else
|
|
23
|
-
i.icon-lock(title="Private group")
|
|
24
|
-
.g-top-level-list-title-container
|
|
25
|
-
.g-group-title
|
|
26
|
-
a.g-group-link(g-group-cid=group.cid)
|
|
27
|
-
b= group.name()
|
|
28
|
-
.g-group-subtitle
|
|
29
|
-
span.g-group-description= group.get('description')
|
|
30
|
-
.g-clear-right
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
.g-group-header
|
|
2
|
-
.btn-group.pull-right
|
|
3
|
-
if (isMember || isInvited || getCurrentUser() || group.get('_accessLevel') >= AccessType.ADMIN)
|
|
4
|
-
button.g-group-actions-button.btn.btn-default.dropdown-toggle(
|
|
5
|
-
data-toggle="dropdown", title="Group actions")
|
|
6
|
-
i.icon-users
|
|
7
|
-
| Actions
|
|
8
|
-
i.icon-down-dir
|
|
9
|
-
ul.g-group-actions-menu.dropdown-menu.pull-right(role="menu")
|
|
10
|
-
if (isMember)
|
|
11
|
-
li(role="presentation")
|
|
12
|
-
a.g-group-leave(role="menuitem")
|
|
13
|
-
i.icon-block
|
|
14
|
-
| Leave group
|
|
15
|
-
else if (isInvited)
|
|
16
|
-
li(role="presentation")
|
|
17
|
-
a.g-group-join(role="menuitem")
|
|
18
|
-
i.icon-login
|
|
19
|
-
| Join group
|
|
20
|
-
else if (getCurrentUser())
|
|
21
|
-
li(role="presentation")
|
|
22
|
-
a.g-group-request-invite(role="menuitem")
|
|
23
|
-
i.icon-export
|
|
24
|
-
| Request membership
|
|
25
|
-
if (group.get('_accessLevel') >= AccessType.ADMIN)
|
|
26
|
-
li.divider(role="presentation")
|
|
27
|
-
li(role="presentation")
|
|
28
|
-
a.g-edit-group(role="menuitem")
|
|
29
|
-
i.icon-edit
|
|
30
|
-
| Edit group
|
|
31
|
-
if (group.get('_accessLevel') >= AccessType.ADMIN)
|
|
32
|
-
li.divider(role="presentation")
|
|
33
|
-
li(role="presentation")
|
|
34
|
-
a.g-group-delete(role="menuitem")
|
|
35
|
-
i.icon-trash
|
|
36
|
-
| Delete group
|
|
37
|
-
|
|
38
|
-
.g-group-name.g-body-title= group.name()
|
|
39
|
-
.g-group-description.g-body-subtitle= group.get('description')
|
|
40
|
-
.g-clear-right
|
|
41
|
-
|
|
42
|
-
if (getCurrentUser())
|
|
43
|
-
if (isMember)
|
|
44
|
-
.g-group-status-container.g-member
|
|
45
|
-
i.icon-ok
|
|
46
|
-
if (isAdmin)
|
|
47
|
-
| You are an #[b administrator] of this group.
|
|
48
|
-
else if (isModerator)
|
|
49
|
-
| You are a #[b moderator] of this group.
|
|
50
|
-
else
|
|
51
|
-
| You are a #[b member] of this group.
|
|
52
|
-
else if (isInvited)
|
|
53
|
-
.g-group-status-container.g-invited
|
|
54
|
-
i.icon-mail-alt
|
|
55
|
-
| You have been invited to this group.
|
|
56
|
-
a.g-group-join Join group
|
|
57
|
-
else if (isRequested)
|
|
58
|
-
.g-group-status-container.g-requested-invite
|
|
59
|
-
i.icon-comment
|
|
60
|
-
| You have requested to join this group.
|
|
61
|
-
else
|
|
62
|
-
.g-group-status-container.g-nonmember
|
|
63
|
-
i.icon-minus-circled
|
|
64
|
-
| You are not a member of this group.
|
|
65
|
-
a.g-group-request-invite Request membership
|
|
66
|
-
if (group.get('_accessLevel') >= AccessType.ADMIN && !isAdmin)
|
|
67
|
-
.g-group-status-container.g-admin
|
|
68
|
-
i.icon-star
|
|
69
|
-
| You have #[b administrator] privileges.
|
|
70
|
-
|
|
71
|
-
ul.g-group-tabs.nav.nav-tabs
|
|
72
|
-
li.active
|
|
73
|
-
a(href="#g-group-tab-roles", data-toggle="tab", name="roles")
|
|
74
|
-
i.icon-th-list
|
|
75
|
-
| Roles
|
|
76
|
-
li
|
|
77
|
-
a(href="#g-group-tab-pending", data-toggle="tab", name="pending")
|
|
78
|
-
i.icon-inbox
|
|
79
|
-
| Pending
|
|
80
|
-
#g-group-tab-pending-status
|
|
81
|
-
|
|
82
|
-
.tab-content
|
|
83
|
-
#g-group-tab-roles.tab-pane.active
|
|
84
|
-
.g-group-admins-container
|
|
85
|
-
.g-group-mods-container
|
|
86
|
-
.g-group-members-container
|
|
87
|
-
#g-group-tab-pending.tab-pane
|
|
88
|
-
.g-group-requests-container
|
|
89
|
-
.g-group-requests-header.g-group-list-header
|
|
90
|
-
i.icon-comment
|
|
91
|
-
| Requests for membership
|
|
92
|
-
|
|
93
|
-
.g-group-requests-body
|
|
94
|
-
ul.g-group-requests
|
|
95
|
-
each user in group.get('requests')
|
|
96
|
-
li(userid=user.id)
|
|
97
|
-
a.g-member-name
|
|
98
|
-
i.icon-user
|
|
99
|
-
| #{user.name} (#{user.login})
|
|
100
|
-
.g-group-member-controls.pull-right
|
|
101
|
-
if group.get('_accessLevel') >= AccessType.WRITE
|
|
102
|
-
a.g-group-request-accept(title="Add to group")
|
|
103
|
-
i.icon-thumbs-up
|
|
104
|
-
a.g-group-request-deny(title="Deny request")
|
|
105
|
-
i.icon-thumbs-down
|
|
106
|
-
if (!group.get('requests').length)
|
|
107
|
-
.g-member-list-empty
|
|
108
|
-
i.icon-info-circled
|
|
109
|
-
| There are no outstanding invitation requests for this group.
|
|
110
|
-
|
|
111
|
-
.g-group-invites-container
|
|
112
|
-
.g-group-invites-header.g-group-list-header
|
|
113
|
-
i.icon-mail-alt
|
|
114
|
-
| Sent invitations
|
|
115
|
-
|
|
116
|
-
.g-group-invites-body
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
.g-item-breadcrumb-container
|
|
2
|
-
.g-item-header
|
|
3
|
-
|
|
4
|
-
.pull-right
|
|
5
|
-
if (accessLevel >= AccessType.WRITE)
|
|
6
|
-
button.g-upload-into-item.btn.btn-sm.btn-success(title="Upload files into item")
|
|
7
|
-
i.icon-upload
|
|
8
|
-
.btn-group
|
|
9
|
-
button.g-item-actions-button.btn.btn-sm.btn-default.dropdown-toggle(
|
|
10
|
-
data-toggle="dropdown", title="Item actions")
|
|
11
|
-
i.icon-doc-text-inv
|
|
12
|
-
| Actions
|
|
13
|
-
i.icon-down-dir
|
|
14
|
-
ul.g-item-actions-menu.dropdown-menu.pull-right(role="menu")
|
|
15
|
-
li(role="presentation")
|
|
16
|
-
a.g-download-item(role="menuitem", href=item.downloadUrl())
|
|
17
|
-
i.icon-download
|
|
18
|
-
| Download item
|
|
19
|
-
if (accessLevel >= AccessType.WRITE)
|
|
20
|
-
li.divider(role="presentation")
|
|
21
|
-
li(role="presentation")
|
|
22
|
-
a.g-edit-item(role="menuitem")
|
|
23
|
-
i.icon-edit
|
|
24
|
-
| Edit item
|
|
25
|
-
li.divider(role="presentation")
|
|
26
|
-
li(role="presentation")
|
|
27
|
-
a.g-delete-item(role="menuitem")
|
|
28
|
-
i.icon-trash
|
|
29
|
-
| Delete item
|
|
30
|
-
|
|
31
|
-
.g-item-name.g-body-title= item.name()
|
|
32
|
-
|
|
33
|
-
.g-item-description!= renderMarkdown(item.get('description'))
|
|
34
|
-
|
|
35
|
-
.g-item-info
|
|
36
|
-
.g-item-info-header
|
|
37
|
-
i.icon-info
|
|
38
|
-
| Info
|
|
39
|
-
.g-item-size.g-info-list-entry
|
|
40
|
-
i.icon-hdd
|
|
41
|
-
if item.get('size') < 1024
|
|
42
|
-
| #{item.get('size')} bytes
|
|
43
|
-
else
|
|
44
|
-
| #{formatSize(item.get('size'))} (#{item.get('size')} bytes)
|
|
45
|
-
.g-item-created.g-info-list-entry
|
|
46
|
-
i.icon-clock
|
|
47
|
-
| Created on #{formatDate(item.get('created'), DATE_SECOND)}
|
|
48
|
-
.g-item-updated.g-info-list-entry
|
|
49
|
-
i.icon-clock
|
|
50
|
-
| Updated on #{formatDate(item.get('updated'), DATE_SECOND)}
|
|
51
|
-
.g-item-id.g-info-list-entry
|
|
52
|
-
i.icon-share
|
|
53
|
-
| Unique ID: #{item.id}
|
|
54
|
-
|
|
55
|
-
.g-item-metadata
|
|
56
|
-
|
|
57
|
-
.g-item-files
|
|
58
|
-
.g-item-files-header
|
|
59
|
-
i.icon-docs
|
|
60
|
-
| Files & links
|
|
61
|
-
.g-item-files-container
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.g-body-title Plugins
|
|
2
|
-
.g-plugin-list-container
|
|
3
|
-
each plugin in allPlugins
|
|
4
|
-
- var experimental = plugin.value.version ? plugin.value.version.indexOf('0.') === 0 : true
|
|
5
|
-
.g-plugin-list-item(data-name=plugin.key)
|
|
6
|
-
.g-plugin-name()
|
|
7
|
-
if plugin.value.url
|
|
8
|
-
a(href=plugin.value.url, target='_blank')= plugin.value.name
|
|
9
|
-
else
|
|
10
|
-
span= plugin.value.name
|
|
11
|
-
if plugin.value.version
|
|
12
|
-
span.g-plugin-version Version #{plugin.value.version}
|
|
13
|
-
if experimental
|
|
14
|
-
span.g-plugin-list-item-notice.g-plugin-list-item-experimental-notice(
|
|
15
|
-
title="WARNING: this plugin is an alpha version and is subject " +
|
|
16
|
-
"to breaking changes; use at your own risk.") Experimental
|
|
17
|
-
if plugin.value.configRoute
|
|
18
|
-
a.g-plugin-config-link(g-route=plugin.value.configRoute, title="Configure Plugin")
|
|
19
|
-
i.icon-cog
|
|
20
|
-
.g-plugin-description= plugin.value.description
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
.g-body-title Import existing data from S3
|
|
2
|
-
.g-body-subtitle= assetstore.get('name')
|
|
3
|
-
|
|
4
|
-
.g-import-instructions.g-s3import-instructions.
|
|
5
|
-
Use this page to import existing data from this assetstore's S3 bucket
|
|
6
|
-
(#[b= assetstore.get('bucket') ]). You may import a specific directory of keys
|
|
7
|
-
within the bucket, or a specific key by path. If you wish to import the entire
|
|
8
|
-
bucket into the selected destination, simply leave the import path field blank.
|
|
9
|
-
If you specify a directory, it will be imported recursively. You must also
|
|
10
|
-
specify a destination collection, user, or folder ID under which to place the
|
|
11
|
-
imported data.
|
|
12
|
-
|
|
13
|
-
form.g-s3-import-form
|
|
14
|
-
.form-group
|
|
15
|
-
label(for="g-s3-import-path") Import path (key or directory)
|
|
16
|
-
input#g-s3-import-path.form-control.input-sm(type="text")
|
|
17
|
-
.form-group
|
|
18
|
-
label(for="g-s3-import-dest-type") Destination type
|
|
19
|
-
select#g-s3-import-dest-type.form-control
|
|
20
|
-
option(value="folder") Folder
|
|
21
|
-
option(value="user") User
|
|
22
|
-
option(value="collection") Collection
|
|
23
|
-
.form-group
|
|
24
|
-
label(for="g-s3-import-dest-id") Destination ID
|
|
25
|
-
.input-group.input-group-sm
|
|
26
|
-
input#g-s3-import-dest-id.form-control.input-sm(
|
|
27
|
-
type="text",
|
|
28
|
-
placeholder="Existing folder, user, or collection ID to use as the destination")
|
|
29
|
-
.input-group-btn
|
|
30
|
-
button.g-open-browser.btn.btn-default(type="button")
|
|
31
|
-
i.icon-folder-open
|
|
32
|
-
.g-validation-failed-message
|
|
33
|
-
button.g-submit-assetstore-import.g-submit-s3-import.btn.btn-success(type="submit")
|
|
34
|
-
i.icon-link-ext
|
|
35
|
-
| Begin import
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
.g-search-results-header-container
|
|
2
|
-
.g-search-results-title-container
|
|
3
|
-
i.g-search-results-title-element.icon-search
|
|
4
|
-
span.g-search-results-title.g-search-results-title-element Results : #{query}
|
|
5
|
-
.g-search-results-header
|
|
6
|
-
.g-search-results-advance-search
|
|
7
|
-
|
|
8
|
-
.g-search-results-container
|
|
9
|
-
|
|
10
|
-
.g-search-pending
|
|
11
|
-
i.icon-spin4.animate-spin
|
|
12
|
-
|
|
13
|
-
.g-search-no-results(style='display: none;')
|
|
14
|
-
i.icon-block
|
|
15
|
-
| No results found
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
.g-search-result-type-header-container
|
|
2
|
-
i.g-search-result-type-header.g-search-result-type-icon(class=`icon-${icon}`)
|
|
3
|
-
.g-search-result-type-header.g-search-results-type-title
|
|
4
|
-
| #{collectionName}
|
|
5
|
-
ul.g-search-results-type
|
|
6
|
-
each element in results
|
|
7
|
-
li.g-search-result
|
|
8
|
-
a(href=`#${type}/${element._id}`)
|
|
9
|
-
if type === 'user'
|
|
10
|
-
| #{element.firstName} #{element.lastName} (#{element.login})
|
|
11
|
-
else
|
|
12
|
-
| #{element.name}
|
|
13
|
-
.g-search-results-paginate(id=`${type}Paginate`)
|