@girder/core 3.2.7 → 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.
Files changed (231) hide show
  1. package/README.md +61 -0
  2. package/package.json +79 -31
  3. package/assets/Girder_Mark.png +0 -0
  4. package/auth.js +0 -152
  5. package/collections/ApiKeyCollection.js +0 -9
  6. package/collections/AssetstoreCollection.js +0 -9
  7. package/collections/Collection.js +0 -295
  8. package/collections/CollectionCollection.js +0 -9
  9. package/collections/FileCollection.js +0 -11
  10. package/collections/FolderCollection.js +0 -11
  11. package/collections/GroupCollection.js +0 -9
  12. package/collections/ItemCollection.js +0 -11
  13. package/collections/UserCollection.js +0 -24
  14. package/collections/index.js +0 -21
  15. package/constants.js +0 -33
  16. package/dialog.js +0 -128
  17. package/events.js +0 -6
  18. package/index.js +0 -31
  19. package/main.js +0 -21
  20. package/misc.js +0 -260
  21. package/models/AccessControlledModel.js +0 -76
  22. package/models/ApiKeyModel.js +0 -31
  23. package/models/AssetstoreModel.js +0 -43
  24. package/models/CollectionCreationPolicyModel.js +0 -20
  25. package/models/CollectionModel.js +0 -12
  26. package/models/FileModel.js +0 -310
  27. package/models/FolderModel.js +0 -33
  28. package/models/GroupModel.js +0 -197
  29. package/models/ItemModel.js +0 -72
  30. package/models/MetadataMixin.js +0 -88
  31. package/models/Model.js +0 -187
  32. package/models/UserModel.js +0 -189
  33. package/models/index.js +0 -25
  34. package/pluginUtils.js +0 -11
  35. package/rest.js +0 -216
  36. package/router.js +0 -58
  37. package/routes.js +0 -231
  38. package/stylesheets/apidocs/apidocs.styl +0 -50
  39. package/stylesheets/body/adminConsole.styl +0 -21
  40. package/stylesheets/body/assetstores.styl +0 -46
  41. package/stylesheets/body/collectionList.styl +0 -39
  42. package/stylesheets/body/collectionPage.styl +0 -6
  43. package/stylesheets/body/frontPage.styl +0 -48
  44. package/stylesheets/body/groupList.styl +0 -43
  45. package/stylesheets/body/groupPage.styl +0 -116
  46. package/stylesheets/body/itemPage.styl +0 -81
  47. package/stylesheets/body/plugins.styl +0 -61
  48. package/stylesheets/body/searchResultsList.styl +0 -51
  49. package/stylesheets/body/systemConfig.styl +0 -56
  50. package/stylesheets/body/userAccount.styl +0 -57
  51. package/stylesheets/body/userList.styl +0 -79
  52. package/stylesheets/body/userPage.styl +0 -6
  53. package/stylesheets/layout/footer.styl +0 -19
  54. package/stylesheets/layout/global.styl +0 -154
  55. package/stylesheets/layout/globalNav.styl +0 -89
  56. package/stylesheets/layout/header.styl +0 -29
  57. package/stylesheets/layout/headerUser.styl +0 -33
  58. package/stylesheets/layout/layout.styl +0 -75
  59. package/stylesheets/layout/layoutVars.styl +0 -9
  60. package/stylesheets/layout/loading.styl +0 -37
  61. package/stylesheets/layout/progressArea.styl +0 -17
  62. package/stylesheets/widgets/accessWidget.styl +0 -106
  63. package/stylesheets/widgets/browserWidget.styl +0 -9
  64. package/stylesheets/widgets/hierarchyWidget.styl +0 -188
  65. package/stylesheets/widgets/markdownWidget.styl +0 -92
  66. package/stylesheets/widgets/metadataWidget.styl +0 -92
  67. package/stylesheets/widgets/searchFieldWidget.styl +0 -70
  68. package/stylesheets/widgets/taskProgress.styl +0 -41
  69. package/stylesheets/widgets/timelineWidget.styl +0 -41
  70. package/stylesheets/widgets/uploadWidget.styl +0 -43
  71. package/stylesheets/widgets/userOtpManagementWidget.styl +0 -159
  72. package/templates/body/adminConsole.pug +0 -13
  73. package/templates/body/assetstores.pug +0 -98
  74. package/templates/body/collectionList.pug +0 -40
  75. package/templates/body/collectionPage.pug +0 -36
  76. package/templates/body/filesystemImport.pug +0 -41
  77. package/templates/body/frontPage.pug +0 -83
  78. package/templates/body/groupList.pug +0 -30
  79. package/templates/body/groupPage.pug +0 -116
  80. package/templates/body/itemPage.pug +0 -61
  81. package/templates/body/plugins.pug +0 -20
  82. package/templates/body/s3Import.pug +0 -35
  83. package/templates/body/searchResults.pug +0 -15
  84. package/templates/body/searchResultsType.pug +0 -13
  85. package/templates/body/systemConfiguration.pug +0 -221
  86. package/templates/body/userAccount.pug +0 -83
  87. package/templates/body/userList.pug +0 -43
  88. package/templates/body/userPage.pug +0 -40
  89. package/templates/layout/alert.pug +0 -5
  90. package/templates/layout/layout.pug +0 -12
  91. package/templates/layout/layoutFooter.pug +0 -11
  92. package/templates/layout/layoutGlobalNav.pug +0 -7
  93. package/templates/layout/layoutHeader.pug +0 -8
  94. package/templates/layout/layoutHeaderUser.pug +0 -26
  95. package/templates/layout/layoutProgressArea.pug +0 -1
  96. package/templates/layout/loginDialog.pug +0 -30
  97. package/templates/layout/registerDialog.pug +0 -35
  98. package/templates/layout/resetPasswordDialog.pug +0 -25
  99. package/templates/widgets/accessEditor.pug +0 -23
  100. package/templates/widgets/accessEditorMixins.pug +0 -57
  101. package/templates/widgets/accessEditorNonModal.pug +0 -11
  102. package/templates/widgets/accessEntry.pug +0 -32
  103. package/templates/widgets/apiKeyList.pug +0 -50
  104. package/templates/widgets/browserWidget.pug +0 -32
  105. package/templates/widgets/checkedActionsMenu.pug +0 -46
  106. package/templates/widgets/collectionInfoDialog.pug +0 -37
  107. package/templates/widgets/confirmDialog.pug +0 -14
  108. package/templates/widgets/dateTimeRangeWidget.pug +0 -20
  109. package/templates/widgets/dateTimeWidget.pug +0 -8
  110. package/templates/widgets/editApiKeyWidget.pug +0 -43
  111. package/templates/widgets/editAssetstoreWidget.pug +0 -78
  112. package/templates/widgets/editCollectionWidget.pug +0 -27
  113. package/templates/widgets/editFileWidget.pug +0 -21
  114. package/templates/widgets/editFolderWidget.pug +0 -27
  115. package/templates/widgets/editGroupWidget.pug +0 -54
  116. package/templates/widgets/editItemWidget.pug +0 -27
  117. package/templates/widgets/fileInfoDialog.pug +0 -33
  118. package/templates/widgets/fileList.pug +0 -33
  119. package/templates/widgets/folderInfoDialog.pug +0 -42
  120. package/templates/widgets/folderList.pug +0 -21
  121. package/templates/widgets/groupAdminList.pug +0 -33
  122. package/templates/widgets/groupInviteDialog.pug +0 -76
  123. package/templates/widgets/groupInviteList.pug +0 -14
  124. package/templates/widgets/groupMemberList.pug +0 -39
  125. package/templates/widgets/groupModList.pug +0 -23
  126. package/templates/widgets/hierarchyBreadcrumb.pug +0 -37
  127. package/templates/widgets/hierarchyPaginated.pug +0 -19
  128. package/templates/widgets/hierarchyWidget.pug +0 -96
  129. package/templates/widgets/itemBreadcrumb.pug +0 -16
  130. package/templates/widgets/itemList.pug +0 -27
  131. package/templates/widgets/jsonMetadatumEditWidget.pug +0 -13
  132. package/templates/widgets/jsonMetadatumView.pug +0 -6
  133. package/templates/widgets/loadingAnimation.pug +0 -4
  134. package/templates/widgets/markdownWidget.pug +0 -34
  135. package/templates/widgets/metadataWidget.pug +0 -16
  136. package/templates/widgets/metadatumEditWidget.pug +0 -15
  137. package/templates/widgets/metadatumView.pug +0 -5
  138. package/templates/widgets/newAssetstore.pug +0 -118
  139. package/templates/widgets/paginateWidget.pug +0 -7
  140. package/templates/widgets/pluginConfigBreadcrumb.pug +0 -13
  141. package/templates/widgets/rootSelectorWidget.pug +0 -13
  142. package/templates/widgets/searchField.pug +0 -10
  143. package/templates/widgets/searchHelp.pug +0 -12
  144. package/templates/widgets/searchModeSelect.pug +0 -9
  145. package/templates/widgets/searchResults.pug +0 -14
  146. package/templates/widgets/sortCollectionWidget.pug +0 -14
  147. package/templates/widgets/taskProgress.pug +0 -16
  148. package/templates/widgets/timeline.pug +0 -15
  149. package/templates/widgets/uploadWidget.pug +0 -15
  150. package/templates/widgets/uploadWidgetMixins.pug +0 -31
  151. package/templates/widgets/uploadWidgetNonModal.pug +0 -10
  152. package/templates/widgets/userOtpBegin.pug +0 -4
  153. package/templates/widgets/userOtpDisable.pug +0 -6
  154. package/templates/widgets/userOtpEnable.pug +0 -44
  155. package/utilities/EventStream.js +0 -177
  156. package/utilities/PluginUtils.js +0 -36
  157. package/utilities/S3UploadHandler.js +0 -303
  158. package/utilities/index.js +0 -9
  159. package/utilities/jquery/girderEnable.js +0 -19
  160. package/utilities/jquery/girderModal.js +0 -48
  161. package/version.js +0 -10
  162. package/views/App.js +0 -359
  163. package/views/View.js +0 -78
  164. package/views/body/AdminView.js +0 -29
  165. package/views/body/AssetstoresView.js +0 -235
  166. package/views/body/CollectionView.js +0 -188
  167. package/views/body/CollectionsView.js +0 -120
  168. package/views/body/FilesystemImportView.js +0 -83
  169. package/views/body/FolderView.js +0 -54
  170. package/views/body/FrontPageView.js +0 -47
  171. package/views/body/GroupView.js +0 -336
  172. package/views/body/GroupsView.js +0 -106
  173. package/views/body/ItemView.js +0 -177
  174. package/views/body/PluginsView.js +0 -73
  175. package/views/body/S3ImportView.js +0 -80
  176. package/views/body/SearchResultsView.js +0 -162
  177. package/views/body/SystemConfigurationView.js +0 -196
  178. package/views/body/UserAccountView.js +0 -179
  179. package/views/body/UserView.js +0 -165
  180. package/views/body/UsersView.js +0 -124
  181. package/views/body/index.js +0 -37
  182. package/views/index.js +0 -13
  183. package/views/layout/FooterView.js +0 -29
  184. package/views/layout/GlobalNavView.js +0 -103
  185. package/views/layout/HeaderUserView.js +0 -45
  186. package/views/layout/HeaderView.js +0 -83
  187. package/views/layout/LoginView.js +0 -100
  188. package/views/layout/ProgressListView.js +0 -70
  189. package/views/layout/RegisterView.js +0 -101
  190. package/views/layout/ResetPasswordView.js +0 -70
  191. package/views/layout/index.js +0 -19
  192. package/views/widgets/AccessWidget.js +0 -427
  193. package/views/widgets/ApiKeyListWidget.js +0 -140
  194. package/views/widgets/BrowserWidget.js +0 -317
  195. package/views/widgets/CheckedMenuWidget.js +0 -68
  196. package/views/widgets/CollectionInfoWidget.js +0 -40
  197. package/views/widgets/DateTimeRangeWidget.js +0 -179
  198. package/views/widgets/DateTimeWidget.js +0 -109
  199. package/views/widgets/EditApiKeyWidget.js +0 -122
  200. package/views/widgets/EditAssetstoreWidget.js +0 -148
  201. package/views/widgets/EditCollectionWidget.js +0 -93
  202. package/views/widgets/EditFileWidget.js +0 -56
  203. package/views/widgets/EditFolderWidget.js +0 -116
  204. package/views/widgets/EditGroupWidget.js +0 -125
  205. package/views/widgets/EditItemWidget.js +0 -110
  206. package/views/widgets/FileInfoWidget.js +0 -26
  207. package/views/widgets/FileListWidget.js +0 -151
  208. package/views/widgets/FolderInfoWidget.js +0 -39
  209. package/views/widgets/FolderListWidget.js +0 -106
  210. package/views/widgets/GroupAdminsWidget.js +0 -88
  211. package/views/widgets/GroupInvitesWidget.js +0 -56
  212. package/views/widgets/GroupMembersWidget.js +0 -185
  213. package/views/widgets/GroupModsWidget.js +0 -77
  214. package/views/widgets/HierarchyWidget.js +0 -1097
  215. package/views/widgets/ItemBreadcrumbWidget.js +0 -38
  216. package/views/widgets/ItemListWidget.js +0 -345
  217. package/views/widgets/LoadingAnimation.js +0 -17
  218. package/views/widgets/MarkdownWidget.js +0 -217
  219. package/views/widgets/MetadataWidget.js +0 -504
  220. package/views/widgets/NewAssetstoreWidget.js +0 -81
  221. package/views/widgets/PaginateWidget.js +0 -37
  222. package/views/widgets/PluginConfigBreadcrumbWidget.js +0 -33
  223. package/views/widgets/RootSelectorWidget.js +0 -192
  224. package/views/widgets/SearchFieldWidget.js +0 -365
  225. package/views/widgets/SearchPaginateWidget.js +0 -149
  226. package/views/widgets/SortCollectionWidget.js +0 -53
  227. package/views/widgets/TaskProgressWidget.js +0 -91
  228. package/views/widgets/TimelineWidget.js +0 -155
  229. package/views/widgets/UploadWidget.js +0 -340
  230. package/views/widgets/UserOtpManagementWidget.js +0 -105
  231. 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 &amp; 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`)