@girder/core 5.0.0-beta.1 → 5.0.0
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/dist-lib/Girder_Favicon.png +0 -0
- package/dist-lib/Girder_Mark.png +0 -0
- package/dist-lib/girder-core.css +2 -0
- package/dist-lib/girder-core.js +60421 -0
- package/dist-lib/girder-core.js.map +1 -0
- package/dist-lib/girder-core.umd.cjs +1484 -0
- package/dist-lib/girder-core.umd.cjs.map +1 -0
- package/dist-lib/index.d.ts +1 -0
- package/dist-lib/src/auth.js +112 -0
- package/dist-lib/src/collections/ApiKeyCollection.js +9 -0
- package/dist-lib/src/collections/AssetstoreCollection.js +10 -0
- package/dist-lib/src/collections/Collection.js +295 -0
- package/dist-lib/src/collections/CollectionCollection.js +9 -0
- package/dist-lib/src/collections/FileCollection.js +11 -0
- package/dist-lib/src/collections/FolderCollection.js +11 -0
- package/dist-lib/src/collections/GroupCollection.js +9 -0
- package/dist-lib/src/collections/ItemCollection.js +11 -0
- package/dist-lib/src/collections/UserCollection.js +24 -0
- package/dist-lib/src/collections/index.js +21 -0
- package/dist-lib/src/constants.js +32 -0
- package/dist-lib/src/dialog.js +128 -0
- package/dist-lib/src/events.js +6 -0
- package/dist-lib/src/index.ts +80 -0
- package/dist-lib/src/main.ts +61 -0
- package/dist-lib/src/misc.js +260 -0
- package/dist-lib/src/models/AccessControlledModel.js +76 -0
- package/dist-lib/src/models/ApiKeyModel.js +31 -0
- package/dist-lib/src/models/AssetstoreModel.js +43 -0
- package/dist-lib/src/models/CollectionCreationPolicyModel.js +20 -0
- package/dist-lib/src/models/CollectionModel.js +12 -0
- package/dist-lib/src/models/FileModel.js +310 -0
- package/dist-lib/src/models/FolderModel.js +33 -0
- package/dist-lib/src/models/GroupModel.js +197 -0
- package/dist-lib/src/models/ItemModel.js +72 -0
- package/dist-lib/src/models/MetadataMixin.js +88 -0
- package/dist-lib/src/models/Model.js +187 -0
- package/dist-lib/src/models/UserModel.js +189 -0
- package/dist-lib/src/models/index.js +25 -0
- package/dist-lib/src/pluginUtils.js +11 -0
- package/dist-lib/src/rest.js +221 -0
- package/dist-lib/src/router.js +58 -0
- package/dist-lib/src/routes.js +229 -0
- package/dist-lib/src/stylesheets/apidocs/apidocs.styl +50 -0
- package/dist-lib/src/stylesheets/body/adminConsole.styl +21 -0
- package/dist-lib/src/stylesheets/body/assetstores.styl +46 -0
- package/dist-lib/src/stylesheets/body/collectionList.styl +39 -0
- package/dist-lib/src/stylesheets/body/collectionPage.styl +6 -0
- package/dist-lib/src/stylesheets/body/frontPage.styl +48 -0
- package/dist-lib/src/stylesheets/body/groupList.styl +43 -0
- package/dist-lib/src/stylesheets/body/groupPage.styl +116 -0
- package/dist-lib/src/stylesheets/body/itemPage.styl +81 -0
- package/dist-lib/src/stylesheets/body/plugins.styl +61 -0
- package/dist-lib/src/stylesheets/body/searchResultsList.styl +51 -0
- package/dist-lib/src/stylesheets/body/systemConfig.styl +56 -0
- package/dist-lib/src/stylesheets/body/userAccount.styl +57 -0
- package/dist-lib/src/stylesheets/body/userList.styl +79 -0
- package/dist-lib/src/stylesheets/body/userPage.styl +6 -0
- package/dist-lib/src/stylesheets/layout/footer.styl +19 -0
- package/dist-lib/src/stylesheets/layout/global.styl +154 -0
- package/dist-lib/src/stylesheets/layout/globalNav.styl +89 -0
- package/dist-lib/src/stylesheets/layout/header.styl +29 -0
- package/dist-lib/src/stylesheets/layout/headerUser.styl +33 -0
- package/dist-lib/src/stylesheets/layout/layout.styl +75 -0
- package/dist-lib/src/stylesheets/layout/layoutVars.styl +9 -0
- package/dist-lib/src/stylesheets/layout/loading.styl +37 -0
- package/dist-lib/src/stylesheets/layout/progressArea.styl +17 -0
- package/dist-lib/src/stylesheets/widgets/accessWidget.styl +106 -0
- package/dist-lib/src/stylesheets/widgets/browserWidget.styl +9 -0
- package/dist-lib/src/stylesheets/widgets/hierarchyWidget.styl +188 -0
- package/dist-lib/src/stylesheets/widgets/markdownWidget.styl +92 -0
- package/dist-lib/src/stylesheets/widgets/metadataWidget.styl +92 -0
- package/dist-lib/src/stylesheets/widgets/searchFieldWidget.styl +70 -0
- package/dist-lib/src/stylesheets/widgets/taskProgress.styl +41 -0
- package/dist-lib/src/stylesheets/widgets/timelineWidget.styl +41 -0
- package/dist-lib/src/stylesheets/widgets/uploadWidget.styl +43 -0
- package/dist-lib/src/stylesheets/widgets/userOtpManagementWidget.styl +159 -0
- package/dist-lib/src/templates/body/adminConsole.pug +13 -0
- package/dist-lib/src/templates/body/assetstores.pug +83 -0
- package/dist-lib/src/templates/body/collectionList.pug +40 -0
- package/dist-lib/src/templates/body/collectionPage.pug +36 -0
- package/dist-lib/src/templates/body/filesystemImport.pug +41 -0
- package/dist-lib/src/templates/body/frontPage.pug +83 -0
- package/dist-lib/src/templates/body/groupList.pug +30 -0
- package/dist-lib/src/templates/body/groupPage.pug +116 -0
- package/dist-lib/src/templates/body/itemPage.pug +61 -0
- package/dist-lib/src/templates/body/plugins.pug +20 -0
- package/dist-lib/src/templates/body/s3Import.pug +35 -0
- package/dist-lib/src/templates/body/searchResults.pug +15 -0
- package/dist-lib/src/templates/body/searchResultsType.pug +13 -0
- package/dist-lib/src/templates/body/systemConfiguration.pug +215 -0
- package/dist-lib/src/templates/body/userAccount.pug +83 -0
- package/dist-lib/src/templates/body/userList.pug +43 -0
- package/dist-lib/src/templates/body/userPage.pug +40 -0
- package/dist-lib/src/templates/layout/alert.pug +5 -0
- package/dist-lib/src/templates/layout/layout.pug +12 -0
- package/dist-lib/src/templates/layout/layoutFooter.pug +11 -0
- package/dist-lib/src/templates/layout/layoutGlobalNav.pug +7 -0
- package/dist-lib/src/templates/layout/layoutHeader.pug +8 -0
- package/dist-lib/src/templates/layout/layoutHeaderUser.pug +26 -0
- package/dist-lib/src/templates/layout/layoutProgressArea.pug +1 -0
- package/dist-lib/src/templates/layout/loginDialog.pug +30 -0
- package/dist-lib/src/templates/layout/registerDialog.pug +35 -0
- package/dist-lib/src/templates/layout/resetPasswordDialog.pug +25 -0
- package/dist-lib/src/templates/widgets/accessEditor.pug +23 -0
- package/dist-lib/src/templates/widgets/accessEditorMixins.pug +57 -0
- package/dist-lib/src/templates/widgets/accessEditorNonModal.pug +11 -0
- package/dist-lib/src/templates/widgets/accessEntry.pug +32 -0
- package/dist-lib/src/templates/widgets/apiKeyList.pug +50 -0
- package/dist-lib/src/templates/widgets/browserWidget.pug +32 -0
- package/dist-lib/src/templates/widgets/checkedActionsMenu.pug +46 -0
- package/dist-lib/src/templates/widgets/collectionInfoDialog.pug +37 -0
- package/dist-lib/src/templates/widgets/confirmDialog.pug +14 -0
- package/dist-lib/src/templates/widgets/dateTimeRangeWidget.pug +20 -0
- package/dist-lib/src/templates/widgets/dateTimeWidget.pug +8 -0
- package/dist-lib/src/templates/widgets/editApiKeyWidget.pug +43 -0
- package/dist-lib/src/templates/widgets/editAssetstoreWidget.pug +70 -0
- package/dist-lib/src/templates/widgets/editCollectionWidget.pug +27 -0
- package/dist-lib/src/templates/widgets/editFileWidget.pug +21 -0
- package/dist-lib/src/templates/widgets/editFolderWidget.pug +27 -0
- package/dist-lib/src/templates/widgets/editGroupWidget.pug +54 -0
- package/dist-lib/src/templates/widgets/editItemWidget.pug +27 -0
- package/dist-lib/src/templates/widgets/fileInfoDialog.pug +33 -0
- package/dist-lib/src/templates/widgets/fileList.pug +33 -0
- package/dist-lib/src/templates/widgets/folderInfoDialog.pug +42 -0
- package/dist-lib/src/templates/widgets/folderList.pug +21 -0
- package/dist-lib/src/templates/widgets/groupAdminList.pug +33 -0
- package/dist-lib/src/templates/widgets/groupInviteDialog.pug +76 -0
- package/dist-lib/src/templates/widgets/groupInviteList.pug +14 -0
- package/dist-lib/src/templates/widgets/groupMemberList.pug +39 -0
- package/dist-lib/src/templates/widgets/groupModList.pug +23 -0
- package/dist-lib/src/templates/widgets/hierarchyBreadcrumb.pug +37 -0
- package/dist-lib/src/templates/widgets/hierarchyPaginated.pug +19 -0
- package/dist-lib/src/templates/widgets/hierarchyWidget.pug +96 -0
- package/dist-lib/src/templates/widgets/itemBreadcrumb.pug +16 -0
- package/dist-lib/src/templates/widgets/itemList.pug +27 -0
- package/dist-lib/src/templates/widgets/jsonMetadatumEditWidget.pug +13 -0
- package/dist-lib/src/templates/widgets/jsonMetadatumView.pug +6 -0
- package/dist-lib/src/templates/widgets/loadingAnimation.pug +4 -0
- package/dist-lib/src/templates/widgets/markdownWidget.pug +34 -0
- package/dist-lib/src/templates/widgets/metadataWidget.pug +16 -0
- package/dist-lib/src/templates/widgets/metadatumEditWidget.pug +15 -0
- package/dist-lib/src/templates/widgets/metadatumView.pug +5 -0
- package/dist-lib/src/templates/widgets/newAssetstore.pug +87 -0
- package/dist-lib/src/templates/widgets/paginateWidget.pug +7 -0
- package/dist-lib/src/templates/widgets/pluginConfigBreadcrumb.pug +13 -0
- package/dist-lib/src/templates/widgets/rootSelectorWidget.pug +13 -0
- package/dist-lib/src/templates/widgets/searchField.pug +10 -0
- package/dist-lib/src/templates/widgets/searchHelp.pug +12 -0
- package/dist-lib/src/templates/widgets/searchModeSelect.pug +9 -0
- package/dist-lib/src/templates/widgets/searchResults.pug +14 -0
- package/dist-lib/src/templates/widgets/sortCollectionWidget.pug +14 -0
- package/dist-lib/src/templates/widgets/taskProgress.pug +16 -0
- package/dist-lib/src/templates/widgets/timeline.pug +15 -0
- package/dist-lib/src/templates/widgets/uploadWidget.pug +15 -0
- package/dist-lib/src/templates/widgets/uploadWidgetMixins.pug +31 -0
- package/dist-lib/src/templates/widgets/uploadWidgetNonModal.pug +10 -0
- package/dist-lib/src/templates/widgets/userOtpBegin.pug +4 -0
- package/dist-lib/src/templates/widgets/userOtpDisable.pug +6 -0
- package/dist-lib/src/templates/widgets/userOtpEnable.pug +44 -0
- package/dist-lib/src/utilities/EventStream.js +119 -0
- package/dist-lib/src/utilities/PluginUtils.js +36 -0
- package/dist-lib/src/utilities/S3UploadHandler.js +263 -0
- package/dist-lib/src/utilities/index.js +9 -0
- package/dist-lib/src/utilities/jquery/girderEnable.js +19 -0
- package/dist-lib/src/utilities/jquery/girderModal.js +48 -0
- package/dist-lib/src/version.js +6 -0
- package/dist-lib/src/views/App.js +359 -0
- package/dist-lib/src/views/View.js +79 -0
- package/dist-lib/src/views/body/AdminView.js +29 -0
- package/dist-lib/src/views/body/AssetstoresView.js +233 -0
- package/dist-lib/src/views/body/CollectionView.js +188 -0
- package/dist-lib/src/views/body/CollectionsView.js +120 -0
- package/dist-lib/src/views/body/FilesystemImportView.js +83 -0
- package/dist-lib/src/views/body/FolderView.js +54 -0
- package/dist-lib/src/views/body/FrontPageView.js +47 -0
- package/dist-lib/src/views/body/GroupView.js +336 -0
- package/dist-lib/src/views/body/GroupsView.js +106 -0
- package/dist-lib/src/views/body/ItemView.js +177 -0
- package/dist-lib/src/views/body/PluginsView.js +73 -0
- package/dist-lib/src/views/body/S3ImportView.js +80 -0
- package/dist-lib/src/views/body/SearchResultsView.js +162 -0
- package/dist-lib/src/views/body/SystemConfigurationView.js +177 -0
- package/dist-lib/src/views/body/UserAccountView.js +179 -0
- package/dist-lib/src/views/body/UserView.js +165 -0
- package/dist-lib/src/views/body/UsersView.js +124 -0
- package/dist-lib/src/views/body/index.js +38 -0
- package/dist-lib/src/views/index.js +13 -0
- package/dist-lib/src/views/layout/FooterView.js +29 -0
- package/dist-lib/src/views/layout/GlobalNavView.js +103 -0
- package/dist-lib/src/views/layout/HeaderUserView.js +45 -0
- package/dist-lib/src/views/layout/HeaderView.js +83 -0
- package/dist-lib/src/views/layout/LoginView.js +100 -0
- package/dist-lib/src/views/layout/ProgressListView.js +70 -0
- package/dist-lib/src/views/layout/RegisterView.js +101 -0
- package/dist-lib/src/views/layout/ResetPasswordView.js +70 -0
- package/dist-lib/src/views/layout/index.js +19 -0
- package/dist-lib/src/views/widgets/AccessWidget.js +427 -0
- package/dist-lib/src/views/widgets/ApiKeyListWidget.js +140 -0
- package/dist-lib/src/views/widgets/BrowserWidget.js +317 -0
- package/dist-lib/src/views/widgets/CheckedMenuWidget.js +68 -0
- package/dist-lib/src/views/widgets/CollectionInfoWidget.js +40 -0
- package/dist-lib/src/views/widgets/DateTimeRangeWidget.js +180 -0
- package/dist-lib/src/views/widgets/DateTimeWidget.js +110 -0
- package/dist-lib/src/views/widgets/EditApiKeyWidget.js +124 -0
- package/dist-lib/src/views/widgets/EditAssetstoreWidget.js +136 -0
- package/dist-lib/src/views/widgets/EditCollectionWidget.js +93 -0
- package/dist-lib/src/views/widgets/EditFileWidget.js +56 -0
- package/dist-lib/src/views/widgets/EditFolderWidget.js +116 -0
- package/dist-lib/src/views/widgets/EditGroupWidget.js +125 -0
- package/dist-lib/src/views/widgets/EditItemWidget.js +110 -0
- package/dist-lib/src/views/widgets/FileInfoWidget.js +26 -0
- package/dist-lib/src/views/widgets/FileListWidget.js +151 -0
- package/dist-lib/src/views/widgets/FolderInfoWidget.js +39 -0
- package/dist-lib/src/views/widgets/FolderListWidget.js +106 -0
- package/dist-lib/src/views/widgets/GroupAdminsWidget.js +88 -0
- package/dist-lib/src/views/widgets/GroupInvitesWidget.js +56 -0
- package/dist-lib/src/views/widgets/GroupMembersWidget.js +185 -0
- package/dist-lib/src/views/widgets/GroupModsWidget.js +77 -0
- package/dist-lib/src/views/widgets/HierarchyWidget.js +1097 -0
- package/dist-lib/src/views/widgets/ItemBreadcrumbWidget.js +38 -0
- package/dist-lib/src/views/widgets/ItemListWidget.js +345 -0
- package/dist-lib/src/views/widgets/LoadingAnimation.js +17 -0
- package/dist-lib/src/views/widgets/MarkdownWidget.js +217 -0
- package/dist-lib/src/views/widgets/MetadataWidget.js +508 -0
- package/dist-lib/src/views/widgets/NewAssetstoreWidget.js +72 -0
- package/dist-lib/src/views/widgets/PaginateWidget.js +37 -0
- package/dist-lib/src/views/widgets/PluginConfigBreadcrumbWidget.js +33 -0
- package/dist-lib/src/views/widgets/RootSelectorWidget.js +192 -0
- package/dist-lib/src/views/widgets/SearchFieldWidget.js +365 -0
- package/dist-lib/src/views/widgets/SearchPaginateWidget.js +149 -0
- package/dist-lib/src/views/widgets/SortCollectionWidget.js +53 -0
- package/dist-lib/src/views/widgets/TaskProgressWidget.js +91 -0
- package/dist-lib/src/views/widgets/TimelineWidget.js +155 -0
- package/dist-lib/src/views/widgets/UploadWidget.js +340 -0
- package/dist-lib/src/views/widgets/UserOtpManagementWidget.js +105 -0
- package/dist-lib/src/views/widgets/index.js +81 -0
- package/dist-lib/src/vite-env.d.ts +5 -0
- package/package.json +17 -15
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
div(class=`g-${type}-access-entry`, resourceid=entry.id)
|
|
2
|
+
.g-access-col-left
|
|
3
|
+
- var icon = type === 'group' ? 'users' : 'user';
|
|
4
|
+
.g-access-icon
|
|
5
|
+
i(class=`icon-${icon}`)
|
|
6
|
+
.g-access-desc
|
|
7
|
+
.g-desc-title= entry.title
|
|
8
|
+
.g-desc-subtitle= entry.subtitle
|
|
9
|
+
.g-access-col-right
|
|
10
|
+
if !hideAccessType
|
|
11
|
+
select.form-control.input-sm
|
|
12
|
+
option(value=accessTypes.READ, selected=(entry.level === accessTypes.READ ? 'selected' : null)) Can view
|
|
13
|
+
option(value=accessTypes.WRITE, selected=(entry.level === accessTypes.WRITE ? 'selected' : null)) Can edit
|
|
14
|
+
option(value=accessTypes.ADMIN, selected=(entry.level === accessTypes.ADMIN ? 'selected' : null)) Is owner
|
|
15
|
+
.g-access-action-container
|
|
16
|
+
if !noAccessFlag && _.keys(flagList).length
|
|
17
|
+
a.g-action-manage-flags(title="Access flags")
|
|
18
|
+
i.g-flag-icon.icon-flag
|
|
19
|
+
.g-flag-count-indicator(class=(entry.flags && entry.flags.length ? null : "hide"))= (entry.flags || []).length
|
|
20
|
+
.g-flags-popover-container.hide(resourcetype=type, resourceid=entry.id, title="Access flags")
|
|
21
|
+
each flag, key in flagList
|
|
22
|
+
- var checked = _.contains(entry.flags, key) ? 'checked' : null;
|
|
23
|
+
- var disabled = (!isAdmin && flag.admin) ? 'disabled' : null;
|
|
24
|
+
.checkbox(class=disabled)
|
|
25
|
+
label.g-flag-label(title=flag.description)
|
|
26
|
+
input.g-flag-checkbox(resourcetype=type, resourceid=entry.id, flag=key, type="checkbox",
|
|
27
|
+
checked=checked, disabled=disabled)
|
|
28
|
+
span= flag.name
|
|
29
|
+
button.g-close-flags-popover.btn.btn-xs.btn-default Close
|
|
30
|
+
|
|
31
|
+
a.g-action-remove-access(title="Remove access")
|
|
32
|
+
i.icon-cancel
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
if apiKeys.length === 0
|
|
2
|
+
.g-api-keys-empty-message You have no existing API keys. Click the button below to create one.
|
|
3
|
+
else
|
|
4
|
+
.g-api-key-list-header Your API keys
|
|
5
|
+
table.g-api-key-table
|
|
6
|
+
thead: tr
|
|
7
|
+
th(col="name") Name
|
|
8
|
+
th(col="key") Key
|
|
9
|
+
th(col="scope") Scope
|
|
10
|
+
th(col="active") Active
|
|
11
|
+
th(col="tokenDuration") Token duration
|
|
12
|
+
th(col="lastUse") Last used
|
|
13
|
+
th(col="actions") Actions
|
|
14
|
+
tbody
|
|
15
|
+
each apiKey in apiKeys
|
|
16
|
+
tr.g-api-key-container(api-key-id=apiKey.id, cid=apiKey.cid)
|
|
17
|
+
td(col="name")= apiKey.get('name')
|
|
18
|
+
td(col="key"): a.g-show-api-key(data-toggle="popover", data-content=apiKey.get('key')) show
|
|
19
|
+
td(col="scope")
|
|
20
|
+
if apiKey.get('scope')
|
|
21
|
+
span Custom scopes
|
|
22
|
+
else
|
|
23
|
+
span Full access
|
|
24
|
+
td(col="active")= apiKey.get('active') ? 'Yes' : 'No'
|
|
25
|
+
td(col="tokenDuration")
|
|
26
|
+
if apiKey.get('tokenDuration')
|
|
27
|
+
span #{apiKey.get('tokenDuration')} days
|
|
28
|
+
else
|
|
29
|
+
span Default
|
|
30
|
+
td(col="lastUse")
|
|
31
|
+
if apiKey.get('lastUse')
|
|
32
|
+
- var lastUse = moment(apiKey.get('lastUse'))
|
|
33
|
+
span(title=lastUse)= lastUse.fromNow()
|
|
34
|
+
else
|
|
35
|
+
span Never
|
|
36
|
+
td(col="actions")
|
|
37
|
+
button.btn.btn-sm.btn-primary.g-api-key-edit(title="Edit")
|
|
38
|
+
i.icon-edit
|
|
39
|
+
if apiKey.get('active')
|
|
40
|
+
button.btn.btn-sm.btn-warning.g-api-key-toggle-active(title="Deactivate")
|
|
41
|
+
i.icon-minus-circled
|
|
42
|
+
else
|
|
43
|
+
button.btn.btn-sm.btn-success.g-api-key-toggle-active(title="Activate")
|
|
44
|
+
i.icon-plus-circled
|
|
45
|
+
button.btn.btn-sm.btn-danger.g-api-key-delete(title="Delete key")
|
|
46
|
+
i.icon-cancel
|
|
47
|
+
|
|
48
|
+
.g-paginate-container
|
|
49
|
+
.g-api-key-list-bottom-buttons
|
|
50
|
+
button.btn.btn-default.g-api-key-new Create new key
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
.modal-header
|
|
4
|
+
button.close(data-dismiss='modal', aria-hidden='true', type='button') ×
|
|
5
|
+
h4.modal-title
|
|
6
|
+
= title
|
|
7
|
+
|
|
8
|
+
.modal-body.g-browser-widget
|
|
9
|
+
.g-hierarchy-root-container.form-group
|
|
10
|
+
.g-hierarchy-widget-container.g-wait-for-root.form-group.hidden
|
|
11
|
+
|
|
12
|
+
if input
|
|
13
|
+
.g-input-element.form-group
|
|
14
|
+
label.control-label(for='g-input-element') #{input.label}
|
|
15
|
+
input#g-input-element.form-control(
|
|
16
|
+
type='text', placeholder=input.placeholder, value=input.default)
|
|
17
|
+
|
|
18
|
+
.help-block.g-wait-for-root.hidden
|
|
19
|
+
= help
|
|
20
|
+
|
|
21
|
+
if preview
|
|
22
|
+
.g-selected-model.g-wait-for-root.form-group.hidden
|
|
23
|
+
label.control-label(for='g-selected-model') Selected #{selectItem ? 'item' : 'folder'}
|
|
24
|
+
input#g-selected-model.form-control(type='text', readonly, value=defaultSelectedResource)
|
|
25
|
+
|
|
26
|
+
.g-validation-failed-message.hidden
|
|
27
|
+
|
|
28
|
+
.modal-footer
|
|
29
|
+
a.btn.btn-small.btn-default(data-dismiss='modal') Cancel
|
|
30
|
+
button.g-submit-button.btn.btn-small.btn-primary(type='submit')
|
|
31
|
+
i.icon-edit
|
|
32
|
+
= submit
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
li.g-checked-menu-header.dropdown-header(role="presentation")
|
|
2
|
+
if folderCount
|
|
3
|
+
i.icon-folder
|
|
4
|
+
span.g-checked-folder-count #{folderCount}
|
|
5
|
+
if itemCount
|
|
6
|
+
i.icon-doc-text-inv
|
|
7
|
+
span.g-checked-item-count #{itemCount}
|
|
8
|
+
if pickedCount
|
|
9
|
+
i.icon-plus-circled
|
|
10
|
+
span.g-checked-picked-count #{pickedCount}
|
|
11
|
+
if folderCount || itemCount
|
|
12
|
+
li
|
|
13
|
+
a.g-download-checked
|
|
14
|
+
i.icon-download
|
|
15
|
+
| Download checked resources
|
|
16
|
+
li
|
|
17
|
+
a.g-pick-checked
|
|
18
|
+
i.icon-plus-circled
|
|
19
|
+
| Pick checked resources for Move or Copy
|
|
20
|
+
|
|
21
|
+
if HierarchyWidget.getPickedResources()
|
|
22
|
+
li.g-admin.divider
|
|
23
|
+
if pickedMoveAllowed
|
|
24
|
+
li
|
|
25
|
+
a.g-move-picked
|
|
26
|
+
i.icon-move
|
|
27
|
+
| Move picked resources here
|
|
28
|
+
if pickedCopyAllowed
|
|
29
|
+
li
|
|
30
|
+
a.g-copy-picked
|
|
31
|
+
i.icon-paste
|
|
32
|
+
| Copy picked resources here
|
|
33
|
+
li
|
|
34
|
+
a.g-clear-picked
|
|
35
|
+
i.icon-minus-circled
|
|
36
|
+
| Clear picked resources
|
|
37
|
+
if pickedDesc
|
|
38
|
+
| (#{pickedDesc})
|
|
39
|
+
|
|
40
|
+
if folderCount || itemCount
|
|
41
|
+
if (minFolderLevel >= AccessType.ADMIN && minItemLevel >= AccessType.WRITE)
|
|
42
|
+
li.g-admin.divider
|
|
43
|
+
li.g-admin
|
|
44
|
+
a.g-delete-checked
|
|
45
|
+
i.icon-trash
|
|
46
|
+
| Delete checked resources
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
mixin dateInfo(intro, property)
|
|
2
|
+
.g-collection-info-line(property=property)
|
|
3
|
+
i.icon-clock
|
|
4
|
+
span= intro
|
|
5
|
+
span.g-bold-part= formatDate(collection.get(property), DATE_SECOND)
|
|
6
|
+
|
|
7
|
+
.modal-dialog
|
|
8
|
+
.modal-content
|
|
9
|
+
.modal-header
|
|
10
|
+
button.close(data-dismiss="modal", aria-hidden="true") ×
|
|
11
|
+
h4.modal-title Collection information
|
|
12
|
+
.g-dialog-subtitle
|
|
13
|
+
i.icon-sitemap
|
|
14
|
+
span= collection.name()
|
|
15
|
+
.modal-body
|
|
16
|
+
if collection.get('description')
|
|
17
|
+
.g-info-dialog-description!= renderMarkdown(collection.get('description'))
|
|
18
|
+
|
|
19
|
+
.g-collection-info-lines
|
|
20
|
+
+dateInfo('Created ', 'created')
|
|
21
|
+
if collection.get('created') !== collection.get('updated')
|
|
22
|
+
+dateInfo('Last updated ', 'updated')
|
|
23
|
+
|
|
24
|
+
.g-collection-info-line(property="size")
|
|
25
|
+
i.icon-floppy
|
|
26
|
+
| Total size: #[span.g-bold-part= formatSize(collection.get('size'))]
|
|
27
|
+
|
|
28
|
+
.g-collection-info-line(property="nFolders")
|
|
29
|
+
i.icon-folder
|
|
30
|
+
| Contains #[span.g-bold-part= collection.get('nFolders')] subfolders
|
|
31
|
+
|
|
32
|
+
.g-collection-info-line(property="id")
|
|
33
|
+
i.icon-share
|
|
34
|
+
| Unique ID: #[span.g-bold-part= collection.id]
|
|
35
|
+
|
|
36
|
+
.modal-footer
|
|
37
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Close
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
.modal-body
|
|
4
|
+
p
|
|
5
|
+
if params.msgConfirmation
|
|
6
|
+
p.g-additional-text
|
|
7
|
+
p.g-additional-instruction
|
|
8
|
+
| You need to enter '#{params.yesText.toUpperCase()} #{params.name}'
|
|
9
|
+
| and then click on the "#{params.yesText}" button
|
|
10
|
+
input#g-confirm-text.input-sm.form-control(type='text', name='confirmMsg')
|
|
11
|
+
spam.g-msg-error
|
|
12
|
+
.modal-footer
|
|
13
|
+
a.btn.btn-small.btn-default(data-dismiss="modal")= params.noText
|
|
14
|
+
a#g-confirm-button.btn.btn-small(class=params.yesClass)= params.yesText
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.form-group
|
|
2
|
+
label.control-label= fromLabel
|
|
3
|
+
if showIcon
|
|
4
|
+
.input-group.date.g-datetime-widget-from
|
|
5
|
+
input.input-sm.form-control(type="text")
|
|
6
|
+
.input-group-addon
|
|
7
|
+
span.icon-calendar
|
|
8
|
+
else
|
|
9
|
+
.input-group.date
|
|
10
|
+
input.input-sm.form-control.g-datetime-widget-from(type="text")
|
|
11
|
+
.form-group
|
|
12
|
+
label.control-label= toLabel
|
|
13
|
+
if showIcon
|
|
14
|
+
.input-group.date.g-datetime-widget-to
|
|
15
|
+
input.input-sm.form-control(type="text")
|
|
16
|
+
.input-group-addon
|
|
17
|
+
span.icon-calendar
|
|
18
|
+
else
|
|
19
|
+
.input-group.date
|
|
20
|
+
input.input-sm.form-control.g-datetime-widget-to(type="text")
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-api-key-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
if apiKey
|
|
8
|
+
| Edit API key
|
|
9
|
+
else
|
|
10
|
+
| Create new API key
|
|
11
|
+
.modal-body
|
|
12
|
+
.form-group
|
|
13
|
+
label.control-label(for="g-api-key-name") Name
|
|
14
|
+
input#g-api-key-name.input-sm.form-control(type="text", placeholder="Enter a name for this API key")
|
|
15
|
+
.form-group
|
|
16
|
+
label.control-label(for="g-api-key-token-duration") Token duration in days (optional)
|
|
17
|
+
input#g-api-key-token-duration.input-sm.form-control(placeholder="Enter number of days")
|
|
18
|
+
|
|
19
|
+
label.control-label Permission scope for this key
|
|
20
|
+
.g-scope-selection-container
|
|
21
|
+
.radio
|
|
22
|
+
label
|
|
23
|
+
input#g-scope-mode-full(type="radio", name="scopeType", value="full", checked)
|
|
24
|
+
| Allow all actions on behalf of my user
|
|
25
|
+
.radio
|
|
26
|
+
label
|
|
27
|
+
input#g-scope-mode-custom(type="radio", name="scopeType", value="custom")
|
|
28
|
+
| Only allow specific permissions for this key:
|
|
29
|
+
each tokenScope in tokenScopes
|
|
30
|
+
.checkbox.disabled
|
|
31
|
+
label.g-custom-scope-description(title=tokenScope.description)
|
|
32
|
+
input.g-custom-scope-checkbox(type="checkbox", value=tokenScope.id, disabled)
|
|
33
|
+
span= tokenScope.name
|
|
34
|
+
.g-validation-failed-message
|
|
35
|
+
.modal-footer
|
|
36
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
37
|
+
button.g-save-api-key.btn.btn-small.btn-primary(type="submit")
|
|
38
|
+
if apiKey
|
|
39
|
+
i.icon-edit
|
|
40
|
+
| Save
|
|
41
|
+
else
|
|
42
|
+
i.icon-plus-squared
|
|
43
|
+
| Create
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-assetstore-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
| Edit assetstore
|
|
8
|
+
.modal-body
|
|
9
|
+
.g-assetstore-form-fields
|
|
10
|
+
.form-group
|
|
11
|
+
label.control-label(for="g-edit-name") Assetstore Name
|
|
12
|
+
input#g-edit-name.input-sm.form-control(type="text", placeholder="Name")
|
|
13
|
+
if assetstore.get('type') === types.FILESYSTEM
|
|
14
|
+
.form-group
|
|
15
|
+
label.control-label(for="g-edit-fs-root") Root directory
|
|
16
|
+
input#g-edit-fs-root.input-sm.form-control(type="text", placeholder="Root directory")
|
|
17
|
+
.form-group
|
|
18
|
+
label.control-label(for="g-edit-fs-perms") File creation permissions (octal)
|
|
19
|
+
input#g-edit-fs-perms.input-sm.form-control(type="text", placeholder="600")
|
|
20
|
+
if assetstore.get('type') === types.S3
|
|
21
|
+
.form-group
|
|
22
|
+
label.control-label(for="g-edit-s3-bucket") S3 bucket name
|
|
23
|
+
input#g-edit-s3-bucket.input-sm.form-control(type="text", placeholder="Bucket")
|
|
24
|
+
.form-group
|
|
25
|
+
label.control-label(for="g-edit-s3-prefix") Path prefix (optional)
|
|
26
|
+
input#g-edit-s3-prefix.input-sm.form-control(type="text", placeholder="Prefix")
|
|
27
|
+
.form-group
|
|
28
|
+
label.control-label(for="g-edit-s3-access-key-id") Access key ID
|
|
29
|
+
input#g-edit-s3-access-key-id.input-sm.form-control(type="text", placeholder="Access key ID")
|
|
30
|
+
.form-group
|
|
31
|
+
label.control-label(for="g-edit-s3-secret") Secret access key
|
|
32
|
+
input#g-edit-s3-secret.input-sm.form-control(type="text", placeholder="Secret access key")
|
|
33
|
+
.form-group
|
|
34
|
+
label.control-label(for="g-edit-s3-service") Service
|
|
35
|
+
input#g-edit-s3-service.input-sm.form-control(type="text", placeholder="Service", title="The service if different from s3.amazonaws.com, such as storage.googleapis.com.")
|
|
36
|
+
.form-group
|
|
37
|
+
label.control-label(for="g-edit-s3-region") Region
|
|
38
|
+
input#g-edit-s3-region.input-sm.form-control(type="text", placeholder="Region")
|
|
39
|
+
.checkbox
|
|
40
|
+
label
|
|
41
|
+
input#g-edit-s3-infercredentials(type="checkbox")
|
|
42
|
+
| Infer Credentials
|
|
43
|
+
.checkbox
|
|
44
|
+
label
|
|
45
|
+
input#g-edit-s3-readonly(type="checkbox")
|
|
46
|
+
| Read only
|
|
47
|
+
.checkbox
|
|
48
|
+
label
|
|
49
|
+
input#g-edit-s3-sse(type="checkbox")
|
|
50
|
+
| Server side encryption
|
|
51
|
+
.checkbox
|
|
52
|
+
label
|
|
53
|
+
input#g-edit-s3-accelerated-endpoint(type="checkbox")
|
|
54
|
+
| Allow S3 accelerated endpoint
|
|
55
|
+
if assetstore.get('hasFiles')
|
|
56
|
+
div
|
|
57
|
+
i.icon-attention
|
|
58
|
+
| #[b Warning:] This assetstore contains files. If you edit where the assetstore is located or how it is reached, those files may become unreachable.
|
|
59
|
+
.g-validation-failed-message
|
|
60
|
+
.modal-footer
|
|
61
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
62
|
+
if !assetstore.get('hasFiles')
|
|
63
|
+
button.g-save-assetstore.btn.btn-small.btn-primary(type="submit")
|
|
64
|
+
i.icon-edit
|
|
65
|
+
| Save
|
|
66
|
+
else
|
|
67
|
+
button.g-save-assetstore.btn.btn-small.btn-primary.btn-danger(type="submit")
|
|
68
|
+
i.icon-edit
|
|
69
|
+
| Save
|
|
70
|
+
i.icon-attention
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-collection-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
if (create)
|
|
8
|
+
| Create collection
|
|
9
|
+
else
|
|
10
|
+
| Edit collection
|
|
11
|
+
.modal-body
|
|
12
|
+
.form-group
|
|
13
|
+
label.control-label(for="g-name") Name
|
|
14
|
+
input#g-name.input-sm.form-control(type="text", placeholder="Enter collection name")
|
|
15
|
+
.form-group
|
|
16
|
+
label.control-label Description (optional)
|
|
17
|
+
.g-description-editor-container
|
|
18
|
+
.g-validation-failed-message
|
|
19
|
+
.modal-footer
|
|
20
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
21
|
+
button.g-save-collection.btn.btn-small.btn-primary(type="submit")
|
|
22
|
+
if (create)
|
|
23
|
+
i.icon-plus-squared
|
|
24
|
+
| Create
|
|
25
|
+
else
|
|
26
|
+
i.icon-edit
|
|
27
|
+
| Save
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-file-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title Edit file
|
|
7
|
+
.modal-body
|
|
8
|
+
.form-group
|
|
9
|
+
label.control-label(for="g-name") Name
|
|
10
|
+
input#g-name.input-sm.form-control(
|
|
11
|
+
type="text", placeholder="Enter file name", value=file.name())
|
|
12
|
+
.form-group
|
|
13
|
+
label.control-label(for="g-mimetype") MIME type
|
|
14
|
+
input#g-mimetype.input-sm.form-control(
|
|
15
|
+
type="text", placeholder="Enter MIME type", value=file.get('mimeType'))
|
|
16
|
+
.g-validation-failed-message
|
|
17
|
+
.modal-footer
|
|
18
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
19
|
+
button.g-save-file.btn.btn-small.btn-primary(type="submit")
|
|
20
|
+
i.icon-edit
|
|
21
|
+
| Save
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-folder-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
if (folder)
|
|
8
|
+
| Edit folder
|
|
9
|
+
else
|
|
10
|
+
| Create folder
|
|
11
|
+
.modal-body
|
|
12
|
+
.form-group
|
|
13
|
+
label.control-label(for="g-name") Name
|
|
14
|
+
input#g-name.input-sm.form-control(type="text", placeholder="Enter folder name")
|
|
15
|
+
.form-group
|
|
16
|
+
label.control-label Description (optional)
|
|
17
|
+
.g-description-editor-container
|
|
18
|
+
.g-validation-failed-message
|
|
19
|
+
.modal-footer
|
|
20
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
21
|
+
button.g-save-folder.btn.btn-small.btn-primary(type="submit")
|
|
22
|
+
if (folder)
|
|
23
|
+
i.icon-edit
|
|
24
|
+
| Save
|
|
25
|
+
else
|
|
26
|
+
i.icon-plus-squared
|
|
27
|
+
| Create
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-group-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
if (group)
|
|
8
|
+
| Edit group
|
|
9
|
+
else
|
|
10
|
+
| Create group
|
|
11
|
+
.modal-body
|
|
12
|
+
.g-public-container
|
|
13
|
+
.radio
|
|
14
|
+
label
|
|
15
|
+
input#g-access-private(type="radio", name="privacy",
|
|
16
|
+
checked=(publicFlag ? undefined : "checked"))
|
|
17
|
+
i.icon-lock
|
|
18
|
+
| Private — Only members can see this group
|
|
19
|
+
.radio
|
|
20
|
+
label
|
|
21
|
+
input#g-access-public(type="radio", name="privacy",
|
|
22
|
+
checked=(publicFlag ? "checked" : undefined))
|
|
23
|
+
i.icon-globe
|
|
24
|
+
| Public — Anyone can see this group
|
|
25
|
+
.form-group
|
|
26
|
+
label.control-label(for="g-name") Name
|
|
27
|
+
input#g-name.input-sm.form-control(type="text", placeholder="Enter group name")
|
|
28
|
+
.form-group
|
|
29
|
+
label.control-label(for="g-description") Description (optional)
|
|
30
|
+
textarea#g-description.input-sm.form-control(placeholder="Enter group description")
|
|
31
|
+
if groupAddAllowed
|
|
32
|
+
.form-group
|
|
33
|
+
label.control-label(for="g-add-to-group") Allow members to be directly added to this group
|
|
34
|
+
select#g-add-to-group.form-control.input-sm
|
|
35
|
+
if addToGroupPolicy === 'yesadmin'
|
|
36
|
+
option(value='default', selected=(addAllowed === 'default')) Default - Yes, allow group administrators to add members
|
|
37
|
+
else if addToGroupPolicy === 'yesmod'
|
|
38
|
+
option(value='default', selected=(addAllowed === 'default')) Default - Yes, allow group administrators and moderators to add members
|
|
39
|
+
else
|
|
40
|
+
option(value='default', selected=(addAllowed === 'default')) Default - No
|
|
41
|
+
option(value='no', selected=(addAllowed === 'no')) No - members must be invited and accept invitations
|
|
42
|
+
if groupAddAllowed === 'mod'
|
|
43
|
+
option(value='yesmod', selected=(addAllowed === 'yesmod')) Yes - allow group administrators and moderators to directly add members
|
|
44
|
+
option(value='yesadmin', selected=(addAllowed === 'yesadmin')) Yes - allow group administrators to directly add members
|
|
45
|
+
.g-validation-failed-message
|
|
46
|
+
.modal-footer
|
|
47
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
48
|
+
button.g-save-group.btn.btn-small.btn-primary(type="submit")
|
|
49
|
+
if (group)
|
|
50
|
+
i.icon-edit
|
|
51
|
+
| Save
|
|
52
|
+
else
|
|
53
|
+
i.icon-plus-squared
|
|
54
|
+
| Create
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
form#g-item-edit-form.modal-form(role="form")
|
|
4
|
+
.modal-header
|
|
5
|
+
button.close(data-dismiss="modal", aria-hidden="true", type="button") ×
|
|
6
|
+
h4.modal-title
|
|
7
|
+
if (item)
|
|
8
|
+
| Edit item
|
|
9
|
+
else
|
|
10
|
+
| Create item
|
|
11
|
+
.modal-body
|
|
12
|
+
.form-group
|
|
13
|
+
label.control-label(for="g-name") Name
|
|
14
|
+
input#g-name.input-sm.form-control(type="text", placeholder="Enter item name")
|
|
15
|
+
.form-group
|
|
16
|
+
label.control-label Description (optional)
|
|
17
|
+
.g-description-editor-container
|
|
18
|
+
.g-validation-failed-message
|
|
19
|
+
.modal-footer
|
|
20
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Cancel
|
|
21
|
+
button.g-save-item.btn.btn-small.btn-primary(type="submit")
|
|
22
|
+
if (item)
|
|
23
|
+
i.icon-edit
|
|
24
|
+
| Save
|
|
25
|
+
else
|
|
26
|
+
i.icon-plus-squared
|
|
27
|
+
| Create
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.modal-dialog
|
|
2
|
+
.modal-content
|
|
3
|
+
.modal-header
|
|
4
|
+
button.close(data-dismiss="modal", aria-hidden="true") ×
|
|
5
|
+
h4.modal-title File information
|
|
6
|
+
.g-dialog-subtitle
|
|
7
|
+
i.icon-doc-inv
|
|
8
|
+
span= file.name()
|
|
9
|
+
.modal-body
|
|
10
|
+
.g-file-info-lines
|
|
11
|
+
.g-file-info-line(property="created")
|
|
12
|
+
i.icon-clock
|
|
13
|
+
span= 'Created '
|
|
14
|
+
span.g-bold-part= formatDate(file.get('created'), DATE_SECOND)
|
|
15
|
+
|
|
16
|
+
.g-file-info-line(property="mimeType")
|
|
17
|
+
i.icon-info
|
|
18
|
+
span MIME type:
|
|
19
|
+
span.g-bold-part #{file.get('mimeType') || 'unknown'}
|
|
20
|
+
|
|
21
|
+
if file.has('size')
|
|
22
|
+
.g-file-info-line(property="size")
|
|
23
|
+
i.icon-hdd
|
|
24
|
+
span Size:
|
|
25
|
+
span.g-bold-part #{file.get('size')} bytes
|
|
26
|
+
|
|
27
|
+
.g-file-info-line(property="id")
|
|
28
|
+
i.icon-share
|
|
29
|
+
span Unique ID:
|
|
30
|
+
span.g-bold-part #{file.id}
|
|
31
|
+
|
|
32
|
+
.modal-footer
|
|
33
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Close
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
ul.g-file-list
|
|
2
|
+
each file in files
|
|
3
|
+
li.g-file-list-entry
|
|
4
|
+
a.g-file-list-link(cid=file.cid, title="Download file",
|
|
5
|
+
target=file.get('linkUrl') ? '_blank' : '_self', href=file.downloadUrl(),
|
|
6
|
+
rel="noopener noreferrer")
|
|
7
|
+
if file.get('linkUrl')
|
|
8
|
+
i.icon-link
|
|
9
|
+
span.g-file-name= file.name()
|
|
10
|
+
i.icon-link-ext
|
|
11
|
+
else
|
|
12
|
+
i.icon-doc-inv
|
|
13
|
+
= file.name()
|
|
14
|
+
a.g-view-inline(title="View in browser", target="_blank", rel="noopener noreferrer",
|
|
15
|
+
href=file.downloadUrl({contentDisposition: 'inline'}))
|
|
16
|
+
i.icon-eye
|
|
17
|
+
a.g-show-info(file-cid=file.cid, title="Show info")
|
|
18
|
+
i.icon-info
|
|
19
|
+
if file.has('size')
|
|
20
|
+
.g-file-size= formatSize(file.get('size'))
|
|
21
|
+
.g-file-actions-container(file-cid=file.cid)
|
|
22
|
+
if parentItem && parentItem.get('_accessLevel') >= AccessType.WRITE
|
|
23
|
+
a.g-update-info(title="Edit file info")
|
|
24
|
+
i.icon-edit
|
|
25
|
+
a.g-update-contents(title="Replace file contents")
|
|
26
|
+
i.icon-upload
|
|
27
|
+
a.g-delete-file(title="Delete file")
|
|
28
|
+
i.icon-cancel
|
|
29
|
+
if hasMore
|
|
30
|
+
li.g-show-more
|
|
31
|
+
a.g-show-more-files
|
|
32
|
+
i.icon-level-down
|
|
33
|
+
| Show more files...
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
mixin dateInfo(intro, property)
|
|
2
|
+
.g-folder-info-line(property=property)
|
|
3
|
+
i.icon-clock
|
|
4
|
+
span= intro
|
|
5
|
+
span.g-bold-part= formatDate(folder.get(property), DATE_SECOND)
|
|
6
|
+
|
|
7
|
+
.modal-dialog
|
|
8
|
+
.modal-content
|
|
9
|
+
.modal-header
|
|
10
|
+
button.close(data-dismiss="modal", aria-hidden="true") ×
|
|
11
|
+
h4.modal-title Folder information
|
|
12
|
+
.g-dialog-subtitle
|
|
13
|
+
i.icon-folder
|
|
14
|
+
span= folder.name()
|
|
15
|
+
.modal-body
|
|
16
|
+
if folder.get('description')
|
|
17
|
+
.g-info-dialog-description.g-folder-description!= renderMarkdown(folder.get('description'))
|
|
18
|
+
|
|
19
|
+
.g-folder-info-lines
|
|
20
|
+
+dateInfo('Created ', 'created')
|
|
21
|
+
if folder.get('created') !== folder.get('updated')
|
|
22
|
+
+dateInfo('Last updated ', 'updated')
|
|
23
|
+
|
|
24
|
+
.g-folder-info-line(property="nItems")
|
|
25
|
+
i.icon-doc-text-inv
|
|
26
|
+
span Contains
|
|
27
|
+
span.g-bold-part #{folder.get('nItems')} items
|
|
28
|
+
span totaling
|
|
29
|
+
span.g-bold-part #{formatSize(folder.get('size'))}
|
|
30
|
+
|
|
31
|
+
.g-folder-info-line(property="nFolders")
|
|
32
|
+
i.icon-folder
|
|
33
|
+
span Contains
|
|
34
|
+
span.g-bold-part #{folder.get('nFolders')} subfolders
|
|
35
|
+
|
|
36
|
+
.g-folder-info-line(property="id")
|
|
37
|
+
i.icon-share
|
|
38
|
+
span Unique ID:
|
|
39
|
+
span.g-bold-part #{folder.id}
|
|
40
|
+
|
|
41
|
+
.modal-footer
|
|
42
|
+
a.btn.btn-small.btn-default(data-dismiss="modal") Close
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
ul.g-folder-list
|
|
2
|
+
each folder in folders
|
|
3
|
+
li.g-folder-list-entry(public=(folder.get('public') ? 'true' : 'false'))
|
|
4
|
+
if checkboxes
|
|
5
|
+
input.g-list-checkbox(type="checkbox", g-folder-cid=folder.cid)
|
|
6
|
+
a.g-folder-list-link(g-folder-cid=folder.cid, href=`#folder/${folder.id}`)
|
|
7
|
+
i.icon-folder
|
|
8
|
+
= folder.get('name')
|
|
9
|
+
i.icon-right-dir
|
|
10
|
+
.g-folder-privacy
|
|
11
|
+
if folder.get('public')
|
|
12
|
+
i.icon-globe
|
|
13
|
+
| Public
|
|
14
|
+
else
|
|
15
|
+
i.icon-lock
|
|
16
|
+
| Private
|
|
17
|
+
if hasMore
|
|
18
|
+
li.g-show-more
|
|
19
|
+
a.g-show-more-folders
|
|
20
|
+
i.icon-level-down
|
|
21
|
+
| Show more folders...
|