@girder/core 3.2.8 → 5.0.0-a6
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,33 +0,0 @@
|
|
|
1
|
-
.g-group-admins-header.g-group-list-header(title="Group administrators can edit group properties and can add, invite, and remove group members, moderators, and administrators.")
|
|
2
|
-
i.icon-star
|
|
3
|
-
span Administrators
|
|
4
|
-
|
|
5
|
-
.g-group-admins-body
|
|
6
|
-
ul.g-group-admins
|
|
7
|
-
each userAccess in admins
|
|
8
|
-
li(userid=userAccess.id, username=userAccess.name)
|
|
9
|
-
a.g-member-name
|
|
10
|
-
i.icon-user
|
|
11
|
-
span #{userAccess.name} (#{userAccess.login})
|
|
12
|
-
.g-group-member-controls.pull-right
|
|
13
|
-
if level >= accessType.ADMIN
|
|
14
|
-
span.dropdown
|
|
15
|
-
a.g-group-admin-demote.dropdown-toggle(title="Demote user",
|
|
16
|
-
data-toggle="dropdown")
|
|
17
|
-
i.icon-down-big
|
|
18
|
-
i.icon-down-dir
|
|
19
|
-
ul.dropdown-menu.pull-right(role="menu")
|
|
20
|
-
li(role="presentation")
|
|
21
|
-
a.g-demote-moderator(role="menuitem")
|
|
22
|
-
i.icon-minus
|
|
23
|
-
span Demote to moderator
|
|
24
|
-
li(role="presentation")
|
|
25
|
-
a.g-demote-member(role="menuitem")
|
|
26
|
-
i.icon-minus
|
|
27
|
-
span Demote to member
|
|
28
|
-
a.g-group-admin-remove(title="Remove user from the group")
|
|
29
|
-
i.icon-block
|
|
30
|
-
if (!admins.length)
|
|
31
|
-
.g-member-list-empty
|
|
32
|
-
i.icon-info-circled
|
|
33
|
-
span There are no administrators in this group.
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
.modal-dialog
|
|
2
|
-
.modal-content
|
|
3
|
-
.modal-header
|
|
4
|
-
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
5
|
-
h4.modal-title Invite user to group
|
|
6
|
-
.g-dialog-subtitle
|
|
7
|
-
i.icon-user
|
|
8
|
-
span #{user.text}
|
|
9
|
-
.modal-body
|
|
10
|
-
label.control-label Select a role for this user
|
|
11
|
-
#g-invite-role-container.panel-group
|
|
12
|
-
.panel.panel-default
|
|
13
|
-
.panel-heading(data-toggle="collapse",
|
|
14
|
-
data-parent="#g-invite-role-container",
|
|
15
|
-
data-target="#g-invite-role-member")
|
|
16
|
-
.panel-title
|
|
17
|
-
a Invite as member
|
|
18
|
-
#g-invite-role-member.panel-collapse.collapse.in
|
|
19
|
-
.panel-body
|
|
20
|
-
p.
|
|
21
|
-
Group members are able to gain all privileges granted to
|
|
22
|
-
the group itself on other resources. They are able to view the
|
|
23
|
-
group, but may not change properties of the group.
|
|
24
|
-
.g-invite-as-member.btn.btn-primary
|
|
25
|
-
i.icon-mail
|
|
26
|
-
span Invite as member
|
|
27
|
-
if mayAdd
|
|
28
|
-
.g-add-as-member.btn.btn-warning.g-add-user-button
|
|
29
|
-
i.icon-plus
|
|
30
|
-
span Add as member
|
|
31
|
-
|
|
32
|
-
if (level >= accessType.ADMIN)
|
|
33
|
-
.panel.panel-default
|
|
34
|
-
.panel-heading(data-toggle="collapse",
|
|
35
|
-
data-parent="#g-invite-role-container",
|
|
36
|
-
data-target="#g-invite-role-moderator")
|
|
37
|
-
.panel-title
|
|
38
|
-
a Invite as moderator
|
|
39
|
-
#g-invite-role-moderator.panel-collapse.collapse
|
|
40
|
-
.panel-body
|
|
41
|
-
p.
|
|
42
|
-
Group moderators are members of the group who are also
|
|
43
|
-
granted the power to add and remove users from the group.
|
|
44
|
-
.g-invite-as-moderator.btn.btn-primary
|
|
45
|
-
i.icon-mail
|
|
46
|
-
span Invite as moderator
|
|
47
|
-
if mayAdd
|
|
48
|
-
.g-add-as-moderator.btn.btn-warning.g-add-user-button
|
|
49
|
-
i.icon-plus
|
|
50
|
-
span Add as moderator
|
|
51
|
-
|
|
52
|
-
if (level >= accessType.ADMIN)
|
|
53
|
-
.panel.panel-default
|
|
54
|
-
.panel-heading(data-toggle="collapse",
|
|
55
|
-
data-parent="#g-invite-role-container",
|
|
56
|
-
data-target="#g-invite-role-admin")
|
|
57
|
-
.panel-title
|
|
58
|
-
a Invite as administrator
|
|
59
|
-
#g-invite-role-admin.panel-collapse.collapse
|
|
60
|
-
.panel-body
|
|
61
|
-
p.
|
|
62
|
-
Group administrators have all the power of group moderators,
|
|
63
|
-
and additionally can promote group members to moderators
|
|
64
|
-
or administrators. They also have the power to delete the
|
|
65
|
-
group entirely.
|
|
66
|
-
.g-invite-as-admin.btn.btn-primary
|
|
67
|
-
i.icon-mail
|
|
68
|
-
span Invite as administrator
|
|
69
|
-
if mayAdd
|
|
70
|
-
.g-add-as-admin.btn.btn-warning.g-add-user-button
|
|
71
|
-
i.icon-plus
|
|
72
|
-
span Add as administrator
|
|
73
|
-
|
|
74
|
-
.g-validation-failed-message
|
|
75
|
-
.modal-footer
|
|
76
|
-
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
ul.g-group-invites
|
|
2
|
-
each user in invitees
|
|
3
|
-
li(cid=user.cid, username=user.name())
|
|
4
|
-
a.g-member-name
|
|
5
|
-
i.icon-user
|
|
6
|
-
span #{user.name()} (#{user.get('login')})
|
|
7
|
-
.g-group-member-controls.pull-right
|
|
8
|
-
if level >= accessType.WRITE
|
|
9
|
-
a.g-group-uninvite(title="Uninvite this user")
|
|
10
|
-
i.icon-block
|
|
11
|
-
if (!invitees.length)
|
|
12
|
-
.g-member-list-empty
|
|
13
|
-
i.icon-info-circled
|
|
14
|
-
span There are no pending invitations to this group.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
.g-group-members-header.g-group-list-header
|
|
2
|
-
i.icon-users
|
|
3
|
-
span Members
|
|
4
|
-
if level >= accessType.WRITE
|
|
5
|
-
form.g-group-invite-form.form-inline(role="form")
|
|
6
|
-
span
|
|
7
|
-
i.icon-mail-alt
|
|
8
|
-
.form-group.g-group-invite-container
|
|
9
|
-
.g-member-pagination
|
|
10
|
-
.g-group-members-body
|
|
11
|
-
ul.g-group-members
|
|
12
|
-
each member in members
|
|
13
|
-
li(cid=member.cid)
|
|
14
|
-
a.g-member-name
|
|
15
|
-
i.icon-user
|
|
16
|
-
span #{member.name()} (#{member.get('login')})
|
|
17
|
-
.g-group-member-controls.pull-right
|
|
18
|
-
if level >= accessType.ADMIN
|
|
19
|
-
span.dropdown
|
|
20
|
-
a.g-group-member-promote.dropdown-toggle(
|
|
21
|
-
title="Promote user", data-toggle="dropdown")
|
|
22
|
-
i.icon-up-big
|
|
23
|
-
i.icon-down-dir
|
|
24
|
-
ul.dropdown-menu.pull-right(role="menu")
|
|
25
|
-
li(role="presentation")
|
|
26
|
-
a.g-promote-moderator(role="menuitem")
|
|
27
|
-
i.icon-plus
|
|
28
|
-
span Promote to moderator
|
|
29
|
-
li(role="presentation")
|
|
30
|
-
a.g-promote-admin(role="menuitem")
|
|
31
|
-
i.icon-plus
|
|
32
|
-
span Promote to administrator
|
|
33
|
-
if level >= accessType.WRITE
|
|
34
|
-
a.g-group-member-remove(title="Remove user from the group")
|
|
35
|
-
i.icon-block
|
|
36
|
-
if (!members.length)
|
|
37
|
-
.g-member-list-empty
|
|
38
|
-
i.icon-info-circled
|
|
39
|
-
span There are no members in this group.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
.g-group-mods-header.g-group-list-header(title="Group moderators can invite and approve group members.")
|
|
2
|
-
i.icon-shield
|
|
3
|
-
span Moderators
|
|
4
|
-
|
|
5
|
-
.g-group-mods-body
|
|
6
|
-
ul.g-group-mods
|
|
7
|
-
each userAccess in moderators
|
|
8
|
-
li(userid=userAccess.id, username=userAccess.name)
|
|
9
|
-
a.g-member-name
|
|
10
|
-
i.icon-user
|
|
11
|
-
span #{userAccess.name} (#{userAccess.login})
|
|
12
|
-
.g-group-member-controls.pull-right
|
|
13
|
-
if level >= accessType.ADMIN
|
|
14
|
-
a.g-group-mod-promote(title="Promote to administrator")
|
|
15
|
-
i.icon-up-big
|
|
16
|
-
a.g-group-mod-demote(title="Demote to member")
|
|
17
|
-
i.icon-down-big
|
|
18
|
-
a.g-group-mod-remove(title="Remove user from the group")
|
|
19
|
-
i.icon-block
|
|
20
|
-
if (!moderators.length)
|
|
21
|
-
.g-member-list-empty
|
|
22
|
-
i.icon-info-circled
|
|
23
|
-
span There are no moderators in this group.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
- var idx = 0
|
|
2
|
-
each obj in links
|
|
3
|
-
li
|
|
4
|
-
a.g-breadcrumb-link(g-index=idx)
|
|
5
|
-
if obj.resourceName === 'user'
|
|
6
|
-
i.icon-user
|
|
7
|
-
else if obj.resourceName === 'collection'
|
|
8
|
-
i.icon-sitemap
|
|
9
|
-
= obj.name()
|
|
10
|
-
- idx += 1
|
|
11
|
-
|
|
12
|
-
if current
|
|
13
|
-
li.active
|
|
14
|
-
if current.resourceName === 'user'
|
|
15
|
-
i.icon-user
|
|
16
|
-
else if current.resourceName === 'collection'
|
|
17
|
-
i.icon-sitemap
|
|
18
|
-
= current.name()
|
|
19
|
-
|
|
20
|
-
if descriptionText
|
|
21
|
-
a.g-description-preview= descriptionText
|
|
22
|
-
|
|
23
|
-
.pull-right
|
|
24
|
-
.g-child-count-container.hide
|
|
25
|
-
.g-subfolder-count-container(title='total folders')
|
|
26
|
-
i.icon-folder
|
|
27
|
-
.g-subfolder-count
|
|
28
|
-
|
|
29
|
-
if idx > 0
|
|
30
|
-
.g-item-count-container(title='total items')
|
|
31
|
-
i.icon-doc-text-inv
|
|
32
|
-
.g-item-count
|
|
33
|
-
|
|
34
|
-
if idx > 0
|
|
35
|
-
.g-level-up-button-container
|
|
36
|
-
a.g-hierarchy-level-up(title="Go up one level")
|
|
37
|
-
i.icon-level-up
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
.g-hierarchy-pages-header
|
|
2
|
-
.g-hierarchycenter
|
|
3
|
-
ul.pagination.pagination-sm
|
|
4
|
-
if (currentPage >1 && !disabled)
|
|
5
|
-
li.g-page-prev
|
|
6
|
-
a#g-previous-paginated « Prev
|
|
7
|
-
else
|
|
8
|
-
li.g-page-prev.disabled
|
|
9
|
-
a#g-previous-paginated « Prev
|
|
10
|
-
li
|
|
11
|
-
span Page:
|
|
12
|
-
input#g-page-selection-input(disabled=disabled, type='number', min=1, max=totalPages, value=currentPage)
|
|
13
|
-
span of #{totalPages}
|
|
14
|
-
if (currentPage+1<=totalPages && !disabled)
|
|
15
|
-
li.g-page-next
|
|
16
|
-
a#g-next-paginated Next »
|
|
17
|
-
else
|
|
18
|
-
li.g-page-next.disabled
|
|
19
|
-
a#g-next-paginated Next »
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
.g-hierarchy-widget
|
|
2
|
-
.g-hierarchy-breadcrumb-bar
|
|
3
|
-
ol.breadcrumb
|
|
4
|
-
if showActions
|
|
5
|
-
.g-hierarchy-actions-header
|
|
6
|
-
if checkboxes
|
|
7
|
-
input.g-select-all(type="checkbox", title="Select / Unselect all")
|
|
8
|
-
|
|
9
|
-
.btn-group
|
|
10
|
-
button.g-checked-actions-button.btn.btn-sm.btn-default.dropdown-toggle(
|
|
11
|
-
data-toggle="dropdown", disabled="disabled", title="Checked actions")
|
|
12
|
-
i.icon-check
|
|
13
|
-
i.icon-down-dir
|
|
14
|
-
ul.g-checked-actions-menu.dropdown-menu(role="menu")
|
|
15
|
-
|
|
16
|
-
.g-folder-header-buttons
|
|
17
|
-
if (type === 'folder')
|
|
18
|
-
button.g-folder-info-button.btn.btn-sm.btn-info(title="Show folder info")
|
|
19
|
-
i.icon-info
|
|
20
|
-
if (level >= AccessType.WRITE)
|
|
21
|
-
button.g-upload-here-button.btn.btn-sm.btn-success(title="Upload here")
|
|
22
|
-
i.icon-upload
|
|
23
|
-
if (level >= AccessType.ADMIN)
|
|
24
|
-
button.g-folder-access-button.g-edit-access.btn.btn-sm.btn-warning(title="Access control")
|
|
25
|
-
i.icon-lock
|
|
26
|
-
else if (type === 'collection')
|
|
27
|
-
button.g-collection-info-button.btn.btn-sm.btn-info(title="Show collection info")
|
|
28
|
-
i.icon-info
|
|
29
|
-
if (level >= AccessType.ADMIN)
|
|
30
|
-
button.g-edit-access.btn.btn-sm.btn-warning(title="Access control")
|
|
31
|
-
i.icon-lock
|
|
32
|
-
.btn-group
|
|
33
|
-
button.g-folder-actions-button.btn.btn-sm.btn-default.dropdown-toggle(
|
|
34
|
-
data-toggle="dropdown", title=`${capitalize(type)} actions`)
|
|
35
|
-
if type === 'collection'
|
|
36
|
-
i.icon-sitemap
|
|
37
|
-
else if type === 'user'
|
|
38
|
-
i.icon-user
|
|
39
|
-
else if type === 'folder'
|
|
40
|
-
i.icon-folder-open
|
|
41
|
-
i.icon-down-dir
|
|
42
|
-
ul.g-folder-actions-menu.dropdown-menu.pull-right(role="menu")
|
|
43
|
-
li.dropdown-header(role="presentation")
|
|
44
|
-
if type === 'collection'
|
|
45
|
-
i.icon-sitemap
|
|
46
|
-
else if type === 'user'
|
|
47
|
-
i.icon-user
|
|
48
|
-
else if type === 'folder'
|
|
49
|
-
i.icon-folder-open
|
|
50
|
-
| #{model.name()}
|
|
51
|
-
if type === 'folder' || type === 'collection'
|
|
52
|
-
li(role="presentation")
|
|
53
|
-
a.g-download-folder(role="menuitem", href=model.downloadUrl())
|
|
54
|
-
i.icon-download
|
|
55
|
-
| Download #{type}
|
|
56
|
-
if level >= AccessType.WRITE
|
|
57
|
-
li(role="presentation")
|
|
58
|
-
a.g-create-subfolder(role="menuitem")
|
|
59
|
-
i.icon-folder
|
|
60
|
-
| Create folder here
|
|
61
|
-
if type === 'folder' || type === 'collection'
|
|
62
|
-
if type === 'folder'
|
|
63
|
-
li(role="presentation")
|
|
64
|
-
a.g-create-item(role="menuitem")
|
|
65
|
-
i.icon-doc
|
|
66
|
-
| Create item here
|
|
67
|
-
li(role="presentation")
|
|
68
|
-
a.g-edit-folder(role="menuitem")
|
|
69
|
-
i.icon-edit
|
|
70
|
-
| Edit #{type}
|
|
71
|
-
if level >= AccessType.ADMIN && (type === 'folder' || type === 'collection')
|
|
72
|
-
li.divider(role="presentation")
|
|
73
|
-
li(role="presentation")
|
|
74
|
-
a.g-delete-folder(role="menuitem")
|
|
75
|
-
i.icon-trash
|
|
76
|
-
| Delete this #{type}
|
|
77
|
-
.g-clear-right
|
|
78
|
-
if onFolderSelect
|
|
79
|
-
.g-select-folder-container
|
|
80
|
-
ul.g-folder-list
|
|
81
|
-
li.g-folder-list-entry(public='true')
|
|
82
|
-
button.g-select-folder.btn.btn-sm.btn-info
|
|
83
|
-
i.icon-folder
|
|
84
|
-
| Select this #{type}.
|
|
85
|
-
i.icon-right-dir
|
|
86
|
-
.g-folder-list-container
|
|
87
|
-
.g-item-list-container
|
|
88
|
-
.g-empty-parent-message.g-info-message-container.hide
|
|
89
|
-
i.icon-info-circled
|
|
90
|
-
if itemFilter
|
|
91
|
-
| This folder has no suitable items.
|
|
92
|
-
else
|
|
93
|
-
| This folder is empty.
|
|
94
|
-
.g-hierarachy-paginated-bar
|
|
95
|
-
if showMetadata
|
|
96
|
-
.g-folder-metadata
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
ol.breadcrumb
|
|
2
|
-
each parent in parentChain
|
|
3
|
-
li
|
|
4
|
-
a.g-item-breadcrumb-link(data-id=parent.object._id, data-type=parent.type)
|
|
5
|
-
if (parent.type === "user")
|
|
6
|
-
i.icon-user
|
|
7
|
-
= parent.object.login
|
|
8
|
-
else if (parent.type === "collection")
|
|
9
|
-
i.icon-sitemap
|
|
10
|
-
= parent.object.name
|
|
11
|
-
else
|
|
12
|
-
= parent.object.name
|
|
13
|
-
|
|
14
|
-
.pull-right
|
|
15
|
-
a.g-hierarchy-level-up(title="Go to parent folder")
|
|
16
|
-
i.icon-level-up
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
ul.g-item-list
|
|
2
|
-
each item in items
|
|
3
|
-
li.g-item-list-entry(class=(highlightItem && item.id === selectedItemId ? 'g-selected' : ''), public=(isParentPublic ? 'true' : 'false'))
|
|
4
|
-
if checkboxes
|
|
5
|
-
input.g-list-checkbox(type="checkbox", g-item-cid=item.cid)
|
|
6
|
-
if downloadLinks || viewLinks
|
|
7
|
-
a.g-item-list-link.g-right-border(g-item-cid=item.cid, href=`#item/${item.id}`)
|
|
8
|
-
i.icon-doc-text-inv
|
|
9
|
-
= item.name()
|
|
10
|
-
else
|
|
11
|
-
a.g-item-list-link(g-item-cid=item.cid, href='#item/' + item.id)
|
|
12
|
-
i.icon-doc-text-inv
|
|
13
|
-
= item.name()
|
|
14
|
-
if downloadLinks
|
|
15
|
-
a(title="Download item", href=item.downloadUrl())
|
|
16
|
-
i.icon-download
|
|
17
|
-
if viewLinks
|
|
18
|
-
a.g-view-inline(title="View in browser", target="_blank", rel="noopener noreferrer",
|
|
19
|
-
href=item.downloadUrl({contentDisposition: 'inline'}))
|
|
20
|
-
i.icon-eye
|
|
21
|
-
if showSizes
|
|
22
|
-
.g-item-size= formatSize(item.get('size'))
|
|
23
|
-
if (hasMore && !paginated)
|
|
24
|
-
li.g-show-more
|
|
25
|
-
a.g-show-more-items
|
|
26
|
-
i.icon-level-down
|
|
27
|
-
| Show more items...
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
input.input-sm.form-control.g-widget-metadata-key-input(type="text", value=key, placeholder="Key")
|
|
2
|
-
|
|
3
|
-
.g-json-editor
|
|
4
|
-
|
|
5
|
-
button.btn.btn-sm.btn-warning.g-widget-metadata-cancel-button(title="Cancel")
|
|
6
|
-
i.icon-cancel
|
|
7
|
-
button.btn.btn-sm.btn-primary.g-widget-metadata-save-button(title="Accept")
|
|
8
|
-
i.icon-ok
|
|
9
|
-
if !newDatum
|
|
10
|
-
button.btn.btn-sm.btn-primary.g-widget-metadata-toggle-button(title="Convert to Simple")
|
|
11
|
-
i.icon-cog
|
|
12
|
-
button.btn.btn-sm.btn-danger.g-widget-metadata-delete-button(title="Delete")
|
|
13
|
-
i.icon-trash
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
.g-markdown-widget
|
|
2
|
-
.g-tabs-container
|
|
3
|
-
.g-markdown-tabs-top
|
|
4
|
-
ul.nav.nav-tabs
|
|
5
|
-
li.first.active(role="presentation")
|
|
6
|
-
a.g-write-link(data-target=`#${prefix}-write`, aria-controls="home",
|
|
7
|
-
role="tab", data-toggle="tab") Write
|
|
8
|
-
li(role="presentation")
|
|
9
|
-
a.g-preview-link(data-target=`#${prefix}-preview`, aria-controls="preview",
|
|
10
|
-
role="tab", data-toggle="tab") Preview
|
|
11
|
-
.g-markdown-explanation
|
|
12
|
-
| Supports
|
|
13
|
-
a(href="https://daringfireball.net/projects/markdown/syntax",
|
|
14
|
-
tabindex="-1", target="_blank") Markdown
|
|
15
|
-
.tab-content
|
|
16
|
-
.tab-pane.active(role="tabpanel", id=`${prefix}-write`)
|
|
17
|
-
.g-markdown-drop-zone
|
|
18
|
-
textarea.form-control.g-markdown-text(
|
|
19
|
-
upload-enabled=enableUploads ? "true" : null,
|
|
20
|
-
placeholder=placeholder)= text
|
|
21
|
-
if enableUploads
|
|
22
|
-
.g-upload-overlay.hide
|
|
23
|
-
.g-upload-progress-container
|
|
24
|
-
.g-markdown-upload-progress.progress.progress-striped
|
|
25
|
-
.progress-bar.progress-bar-info(role="progressbar")
|
|
26
|
-
.g-markdown-upload-progress-message Starting upload...
|
|
27
|
-
.g-upload-footer.
|
|
28
|
-
#[i.icon-picture] Add an image by #[a.g-browse clicking here], or drag
|
|
29
|
-
and drop one into the editor.
|
|
30
|
-
.hide
|
|
31
|
-
input.g-file-input(type="file")
|
|
32
|
-
|
|
33
|
-
.tab-pane(role="tabpanel", id=`${prefix}-preview`)
|
|
34
|
-
.g-markdown-preview
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
if (accessLevel >= AccessType.WRITE)
|
|
2
|
-
.btn-group.pull-right
|
|
3
|
-
button.g-widget-metadata-add-button.btn.btn-sm.btn-primary.btn-default.dropdown-toggle(data-toggle="dropdown", title="Add Metadata")
|
|
4
|
-
i.icon-plus
|
|
5
|
-
ul.dropdown-menu.pull-right(role="menu")
|
|
6
|
-
li(role="presentation")
|
|
7
|
-
a.g-add-simple-metadata(role="menuitem")
|
|
8
|
-
| Simple
|
|
9
|
-
li(role="presentation")
|
|
10
|
-
a.g-add-json-metadata
|
|
11
|
-
| JSON
|
|
12
|
-
|
|
13
|
-
.g-widget-metadata-header
|
|
14
|
-
i.icon-tags
|
|
15
|
-
| #{title}
|
|
16
|
-
.g-widget-metadata-container
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
input.input-sm.form-control.g-widget-metadata-key-input(type="text", value=key, placeholder="Key")
|
|
2
|
-
|
|
3
|
-
- var rows = value.length <= 40 ? 1 : (value.length <= 100 ? 3 : 5)
|
|
4
|
-
textarea.input-sm.form-control.g-widget-metadata-value-input(placeholder="Value", rows=rows)
|
|
5
|
-
= value
|
|
6
|
-
|
|
7
|
-
button.btn.btn-sm.btn-warning.g-widget-metadata-cancel-button(title="Cancel")
|
|
8
|
-
i.icon-cancel
|
|
9
|
-
button.btn.btn-sm.btn-primary.g-widget-metadata-save-button(title="Accept")
|
|
10
|
-
i.icon-ok
|
|
11
|
-
if !newDatum
|
|
12
|
-
button.btn.btn-sm.btn-primary.g-widget-metadata-toggle-button(title="Convert to JSON")
|
|
13
|
-
i.icon-cog
|
|
14
|
-
button.btn.btn-sm.btn-danger.g-widget-metadata-delete-button(title="Delete")
|
|
15
|
-
i.icon-trash
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
#g-assetstore-accordion.panel-group
|
|
2
|
-
.panel.panel-default
|
|
3
|
-
.panel-heading(data-toggle="collapse",
|
|
4
|
-
data-parent="#g-assetstore-accordion",
|
|
5
|
-
data-target="#g-create-fs-tab")
|
|
6
|
-
.panel-title
|
|
7
|
-
a
|
|
8
|
-
i.icon-hdd
|
|
9
|
-
span Create new #[b Filesystem] assetstore
|
|
10
|
-
#g-create-fs-tab.panel-collapse.collapse
|
|
11
|
-
.panel-body
|
|
12
|
-
p.
|
|
13
|
-
This type of assetstore will store files in a directory on the
|
|
14
|
-
local filesystem, using content-addressed storage to ensure that
|
|
15
|
-
data is never duplicated on disk. Just specify the root directory
|
|
16
|
-
that files will be stored under.
|
|
17
|
-
p.
|
|
18
|
-
If the specified root directory does not already exist, the server
|
|
19
|
-
will attempt to create it.
|
|
20
|
-
form#g-new-fs-form(role="form")
|
|
21
|
-
.form-group
|
|
22
|
-
label.control-label(for="g-new-fs-name") Assetstore name
|
|
23
|
-
input#g-new-fs-name.input-sm.form-control(type="text", placeholder="Name")
|
|
24
|
-
.form-group
|
|
25
|
-
label.control-label(for="g-new-fs-root") Root directory
|
|
26
|
-
input#g-new-fs-root.input-sm.form-control(
|
|
27
|
-
type="text", placeholder="Root directory")
|
|
28
|
-
p#g-new-fs-error.g-validation-failed-message
|
|
29
|
-
input.g-new-assetstore-submit.btn.btn-sm.btn-primary(type="submit", value="Create")
|
|
30
|
-
|
|
31
|
-
.panel.panel-default
|
|
32
|
-
.panel-heading(data-toggle="collapse",
|
|
33
|
-
data-parent="#g-assetstore-accordion",
|
|
34
|
-
data-target="#g-create-gridfs-tab")
|
|
35
|
-
.panel-title
|
|
36
|
-
a
|
|
37
|
-
i.icon-leaf
|
|
38
|
-
span Create new #[b GridFS] assetstore
|
|
39
|
-
#g-create-gridfs-tab.panel-collapse.collapse
|
|
40
|
-
.panel-body
|
|
41
|
-
p.
|
|
42
|
-
This type of assetstore uses
|
|
43
|
-
MongoDB's #[a(target="_blank", href="http://docs.mongodb.org/manual/core/gridfs/") GridFS]
|
|
44
|
-
storage engine. The files should be stored in a separate database
|
|
45
|
-
from the rest of the server's information to avoid locking issues.
|
|
46
|
-
form#g-new-gridfs-form(role="form")
|
|
47
|
-
.form-group
|
|
48
|
-
label.control-label(for="g-new-gridfs-name") Assetstore name
|
|
49
|
-
input#g-new-gridfs-name.input-sm.form-control(type="text", placeholder="Name")
|
|
50
|
-
.form-group
|
|
51
|
-
label.control-label(for="g-new-gridfs-db") Database name
|
|
52
|
-
input#g-new-gridfs-db.input-sm.form-control(
|
|
53
|
-
type="text", placeholder="Database name")
|
|
54
|
-
.form-group
|
|
55
|
-
label.control-label(for="g-new-gridfs-mongohost") Mongo Host URI
|
|
56
|
-
input#g-new-gridfs-mongohost.input-sm.form-control(
|
|
57
|
-
type="text", placeholder="Mongo host uri (defaults to the main Girder database)",
|
|
58
|
-
title="The URI is of the form mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]")
|
|
59
|
-
.form-group
|
|
60
|
-
label.control-label(for="g-new-gridfs-replicaset") Replica Set
|
|
61
|
-
input#g-new-gridfs-replicaset.input-sm.form-control(
|
|
62
|
-
type="text", placeholder="Replica set name (blank if not using a replica set)")
|
|
63
|
-
p#g-new-gridfs-error.g-validation-failed-message
|
|
64
|
-
input.g-new-assetstore-submit.btn.btn-sm.btn-primary(type="submit", value="Create")
|
|
65
|
-
|
|
66
|
-
.panel.panel-default
|
|
67
|
-
.panel-heading(data-toggle="collapse",
|
|
68
|
-
data-parent="#g-assetstore-accordion",
|
|
69
|
-
data-target="#g-create-s3-tab")
|
|
70
|
-
.panel-title
|
|
71
|
-
a
|
|
72
|
-
i.icon-upload-cloud
|
|
73
|
-
span Create new #[b Amazon S3] assetstore
|
|
74
|
-
#g-create-s3-tab.panel-collapse.collapse
|
|
75
|
-
.panel-body
|
|
76
|
-
p.
|
|
77
|
-
This type of assetstore keeps files in
|
|
78
|
-
an #[a(target="_blank", href="http://aws.amazon.com/s3/") Amazon S3]
|
|
79
|
-
bucket. The service defaults to s3.amazonaws.com. You can specify an
|
|
80
|
-
alternate service, including an optional protocol and port using the
|
|
81
|
-
form [http[s]://](service domain)[:(port)].
|
|
82
|
-
form#g-new-s3-form(role="form")
|
|
83
|
-
.form-group
|
|
84
|
-
label.control-label(for="g-new-s3-name") Assetstore name
|
|
85
|
-
input#g-new-s3-name.input-sm.form-control(type="text", placeholder="Name")
|
|
86
|
-
.form-group
|
|
87
|
-
label.control-label(for="g-new-s3-bucket") S3 bucket name
|
|
88
|
-
input#g-new-s3-bucket.input-sm.form-control(type="text", placeholder="Bucket")
|
|
89
|
-
.form-group
|
|
90
|
-
label.control-label(for="g-new-s3-prefix") Path prefix (optional)
|
|
91
|
-
input#g-new-s3-prefix.input-sm.form-control(type="text", placeholder="Prefix")
|
|
92
|
-
.form-group
|
|
93
|
-
label.control-label(for="g-new-s3-access-key-id") Access key ID
|
|
94
|
-
input#g-new-s3-access-key-id.input-sm.form-control(type="text", placeholder="Access key ID")
|
|
95
|
-
.form-group
|
|
96
|
-
label.control-label(for="g-new-s3-secret") Secret access key
|
|
97
|
-
input#g-new-s3-secret.input-sm.form-control(type="text", placeholder="Secret access key")
|
|
98
|
-
.form-group
|
|
99
|
-
label.control-label(for="g-new-s3-service") Service
|
|
100
|
-
input#g-new-s3-service.input-sm.form-control(type="text", placeholder="Service", title="The service if different from s3.amazonaws.com, such as storage.googleapis.com.")
|
|
101
|
-
.form-group
|
|
102
|
-
label.control-label(for="g-new-s3-region") Region
|
|
103
|
-
input#g-new-s3-region.input-sm.form-control(type="text", placeholder="Region")
|
|
104
|
-
.checkbox
|
|
105
|
-
label
|
|
106
|
-
input#g-new-s3-readonly(type="checkbox")
|
|
107
|
-
| Read only
|
|
108
|
-
.checkbox
|
|
109
|
-
label
|
|
110
|
-
input#g-new-s3-infercredentials(type="checkbox")
|
|
111
|
-
| Infer Credentials
|
|
112
|
-
.checkbox
|
|
113
|
-
label
|
|
114
|
-
input#g-new-s3-sse(type="checkbox")
|
|
115
|
-
| Server side encryption
|
|
116
|
-
|
|
117
|
-
p#g-new-s3-error.g-validation-failed-message
|
|
118
|
-
input.g-new-assetstore-submit.btn.btn-sm.btn-primary(type="submit", value="Create")
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
- selected = selected || {id: ''};
|
|
2
|
-
select#g-root-selector.form-control(required)
|
|
3
|
-
if !selected.id
|
|
4
|
-
option(value="", disabled, selected, hidden) Select a root...
|
|
5
|
-
each groupName in display
|
|
6
|
-
if groupName === 'Home' && home
|
|
7
|
-
option(value=home.id, selected=selected.id === home.id) Home
|
|
8
|
-
else if groupName in groups
|
|
9
|
-
- var group = groups[groupName];
|
|
10
|
-
optgroup(label=groupName)
|
|
11
|
-
each model in group.models
|
|
12
|
-
if !home || model.id !== home.id
|
|
13
|
-
option(value=model.id, data-group=groupName, selected=model.id === selected.id)= format(model)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
.g-search-wrapper
|
|
2
|
-
a.g-search-options-button.btn.btn-sm(title="Show search help")
|
|
3
|
-
i.g-search-state.icon-search
|
|
4
|
-
input.g-search-field.form-control.input-sm(
|
|
5
|
-
type="text", placeholder=placeholder, mode-select=(modes.length > 1 ? "on" : "off"))
|
|
6
|
-
.g-search-results.dropdown
|
|
7
|
-
ul.dropdown-menu(role="menu")
|
|
8
|
-
if modes.length > 1
|
|
9
|
-
a.g-search-mode-choose.btn.btn-sm(title="Search mode")
|
|
10
|
-
i.icon-down-dir
|