vue-girder-slicer-cli-ui 0.0.8

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 (58) hide show
  1. package/README.md +102 -0
  2. package/dist/api/girderRest.d.ts +36 -0
  3. package/dist/api/girderSlicerApi.d.ts +32 -0
  4. package/dist/components/FileBrowser/DataBrowser.tw.vue.d.ts +177 -0
  5. package/dist/components/FileBrowser/Modal.tw.vue.d.ts +27 -0
  6. package/dist/components/FileBrowser/RootSelection.tw.vue.d.ts +41 -0
  7. package/dist/components/FileBrowser/utils.d.ts +9 -0
  8. package/dist/components/GirderControlsPanel.tw.vue.d.ts +29 -0
  9. package/dist/components/GirderSlicerParameter.tw.vue.d.ts +50 -0
  10. package/dist/components/GirderSlicerTaskButton.tw.vue.d.ts +42 -0
  11. package/dist/components/GirderSlicerTaskCard.tw.vue.d.ts +44 -0
  12. package/dist/components/GirderSlicerTaskMenu.tw.vue.d.ts +49 -0
  13. package/dist/components/GlicerSlicerTaskMenuModal.tw.vue.d.ts +34 -0
  14. package/dist/components/GlicerSlicerTaskMenuModalButton.tw.vue.d.ts +38 -0
  15. package/dist/components/GriderSlicerTasksIntegrated.tw.vue.d.ts +74 -0
  16. package/dist/components/Parameters/BaseParameter.tw.vue.d.ts +21 -0
  17. package/dist/components/Parameters/BooleanParameter.tw.vue.d.ts +18 -0
  18. package/dist/components/Parameters/ColorParameter.tw.vue.d.ts +19 -0
  19. package/dist/components/Parameters/EnumerationParameters.tw.vue.d.ts +19 -0
  20. package/dist/components/Parameters/FileParameter.tw.vue.d.ts +32 -0
  21. package/dist/components/Parameters/RangeParameter.tw.vue.d.ts +19 -0
  22. package/dist/favicon.ico +0 -0
  23. package/dist/girderTypes.d.ts +21 -0
  24. package/dist/index.d.ts +11 -0
  25. package/dist/parser/constraints.d.ts +4 -0
  26. package/dist/parser/convert.d.ts +7 -0
  27. package/dist/parser/defaultValue.d.ts +12 -0
  28. package/dist/parser/group.d.ts +9 -0
  29. package/dist/parser/index.d.ts +8 -0
  30. package/dist/parser/panel.d.ts +11 -0
  31. package/dist/parser/param.d.ts +6 -0
  32. package/dist/parser/parse.d.ts +20 -0
  33. package/dist/parser/parserTypes.d.ts +58 -0
  34. package/dist/parser/widget.d.ts +6 -0
  35. package/dist/style.css +1 -0
  36. package/dist/tailwind.css +1370 -0
  37. package/dist/utils.d.ts +5 -0
  38. package/dist/vue-girder-slicer-cli-ui.js +12987 -0
  39. package/dist/vue-girder-slicer-cli-ui.umd.cjs +59 -0
  40. package/package.json +135 -0
  41. package/src/components/FileBrowser/DataBrowser.tw.vue +842 -0
  42. package/src/components/FileBrowser/Modal.tw.vue +82 -0
  43. package/src/components/FileBrowser/RootSelection.tw.vue +83 -0
  44. package/src/components/FileBrowser/utils.ts +48 -0
  45. package/src/components/GirderControlsPanel.tw.vue +94 -0
  46. package/src/components/GirderSlicerParameter.tw.vue +84 -0
  47. package/src/components/GirderSlicerTaskButton.tw.vue +208 -0
  48. package/src/components/GirderSlicerTaskCard.tw.vue +184 -0
  49. package/src/components/GirderSlicerTaskMenu.tw.vue +217 -0
  50. package/src/components/GlicerSlicerTaskMenuModal.tw.vue +77 -0
  51. package/src/components/GlicerSlicerTaskMenuModalButton.tw.vue +106 -0
  52. package/src/components/GriderSlicerTasksIntegrated.tw.vue +73 -0
  53. package/src/components/Parameters/BaseParameter.tw.vue +76 -0
  54. package/src/components/Parameters/BooleanParameter.tw.vue +54 -0
  55. package/src/components/Parameters/ColorParameter.tw.vue +58 -0
  56. package/src/components/Parameters/EnumerationParameters.tw.vue +66 -0
  57. package/src/components/Parameters/FileParameter.tw.vue +172 -0
  58. package/src/components/Parameters/RangeParameter.tw.vue +74 -0
package/README.md ADDED
@@ -0,0 +1,102 @@
1
+ # Girder Slicer UI
2
+
3
+ This is a vue based component library to interface with the girder slicer CLI plugin.
4
+ https://github.com/girder/slicer_cli_web
5
+
6
+ This Vue component library can be used with the above plugin to list and set values for slicer CLI plugins.
7
+
8
+ # GirderSlicerTasksIntegrated.vue
9
+
10
+ This is a single component that provies a listing of the tasks as well as an interface to set the paramemter values.
11
+
12
+ ## Customization
13
+
14
+ ### apiURL
15
+ The URL of the base girder instance that contains the slicer cli plugin. This defaults to the current host `/api/v1`
16
+
17
+ ### filter
18
+ A filter function that can be used to remove tasks from the listing. This will be run on every task that is returned from the `/slicer_cli_web/cli` endpoint. It takes a function of the type `(item: SlicerTask) => boolean` where returning true will display the task and returning false will filter out the task.
19
+
20
+ ```
21
+ export interface SlicerTask {
22
+ _id: string;
23
+ description: string;
24
+ image: string;
25
+ name: string;
26
+ type: string;
27
+ }
28
+ ```
29
+
30
+ ### defaults
31
+
32
+ A function that iterates through every task parameter and enables setting default values.
33
+ `(item: XMLParameters) => undefined | null | XMLParameters`
34
+ ```
35
+ export interface XMLParameters {
36
+ type: ParamSlicerType;
37
+ slicerType: ParamGUIType;
38
+ title: string;
39
+ description: string;
40
+ channel?: 'input' | 'output';
41
+ id: string;
42
+ value?: XMLBaseValue;
43
+ values?: XMLBaseValue[];
44
+ constraints?: {min?: XMLBaseValue; max?: XMLBaseValue; step?: XMLBaseValue};
45
+ defaultValue?: XMLBaseValue;
46
+ // Extra
47
+ fileValue?: {
48
+ girderId: string; // item/folder Id for the selected item
49
+ name: string; //File Name for display purposes
50
+ parentId: string; // Parent folder to open when using DataBrowser
51
+ regExp?: boolean | undefined; // When selecting multiple the regExp pattern
52
+ fileId?: string | undefined; // fileId used
53
+ }; // Added to handle files
54
+ required?: boolean;
55
+ extensions?: string | undefined;
56
+ reference?: string | undefined;
57
+ defaultNameMatch?: string | undefined;
58
+ defaultPathMatch?: string | undefined;
59
+ defaultRelativePath?: string | undefined;
60
+ multiple?: boolean;
61
+ datalist?: boolean;
62
+ shapes?: string | undefined;
63
+ error?: string | undefined; // Used to display errors
64
+ }
65
+ ```
66
+ You can take the XMLParameter information and set a default `fileValue` or default `value | values` to indicate what it should be.
67
+ I.E:
68
+ ```
69
+ (item: XMLParamemters) => {
70
+ if (item.channel == 'input' and item.type === 'file') {
71
+ const updatedItem = {...item}
72
+ item.fileValue = {
73
+ fileId: '6433f9123b271b58c749ddbc',
74
+ girderId: '6433f9123b271b58c749ddbb',
75
+ name: 'SampleVideo.mp4',
76
+ parentId: '6433f9113b271b58c749ddb6',
77
+ regExp: false,
78
+ }
79
+ }
80
+ }
81
+ ```
82
+ This is used to set default values.
83
+
84
+ ## Color Customization
85
+
86
+ There are some global css variables that are used to set the colors used in the system:
87
+ ```
88
+ :root {
89
+ --gsu-color-primary: #90CAF9; /* Primary color */
90
+ --gsu-color-secondary: #9FA8DA; /* Secondary color */
91
+ --gsu-color-link: #2c7596; /* Link color */
92
+ --gsu-color-text: #FFFFFF; /* Text color */
93
+ --gsu-color-muted-text: #B0BEC5; /* Muted text color */
94
+ --gsu-color-background: rgb(39, 39, 39);/* Background color */
95
+ --gsu-color-border: rgba(255,255,255,0.3);
96
+ --gsu-background-muted: #212121; /* Muted background color */
97
+ --gsu-color-highlight: #717171bb; /* Highlighted color */
98
+ --gsu-color-selected: #A5D6A7; /* Selected color */
99
+ }
100
+ ```
101
+ This default view mimics a vuetify dark theme but not completely.
102
+ These variables can be modified to change the visual styling of the system.
@@ -0,0 +1,36 @@
1
+ import { Axios, AxiosInstance } from 'axios';
2
+ export interface GirderRestClientParams {
3
+ apiRoot: string;
4
+ token?: string;
5
+ axios?: AxiosInstance;
6
+ authenticateWithCredentials?: boolean;
7
+ userGirderAuthorizationHeader?: boolean;
8
+ setLocalCookie?: boolean;
9
+ }
10
+ export declare const OauthTokenPrefix = "#girderToken=";
11
+ export declare const OauthTokenSuffix = "__";
12
+ /**
13
+ * This is a subclass of axios that is meant to add Girder-specific helper functionality.
14
+ */
15
+ export default class RestClient extends Axios {
16
+ apiRoot: string;
17
+ token: string | null;
18
+ axios: AxiosInstance;
19
+ authenticateWithCredentials: boolean;
20
+ useGirderAuthorizationHeader: boolean;
21
+ setLocalCookie: boolean;
22
+ user: null | any;
23
+ $on: Function | undefined;
24
+ constructor({ apiRoot, token, axios, authenticateWithCredentials, useGirderAuthorizationHeader, setLocalCookie, }?: {
25
+ apiRoot?: string | undefined;
26
+ token?: string | undefined;
27
+ axios?: AxiosInstance | undefined;
28
+ authenticateWithCredentials?: boolean | undefined;
29
+ useGirderAuthorizationHeader?: boolean | undefined;
30
+ setLocalCookie?: boolean | undefined;
31
+ });
32
+ login(username: string, password: string, otp?: null): Promise<import("axios").AxiosResponse<any, any>>;
33
+ logout(): Promise<void>;
34
+ fetchUser(): Promise<any>;
35
+ register(login: string, email: string, firstName: string, lastName: string, password: string, admin?: boolean): Promise<import("axios").AxiosResponse<any, any>>;
36
+ }
@@ -0,0 +1,32 @@
1
+ import { XMLBaseValue, XMLSpecification } from "../parser/parserTypes";
2
+ import RestClient from "./girderRest";
3
+ export interface SlicerImage {
4
+ _id: string;
5
+ description: string;
6
+ image: string;
7
+ name: string;
8
+ type: string;
9
+ }
10
+ export interface JobResponse {
11
+ _id: string;
12
+ _original_name: string;
13
+ celeryTaskId: string;
14
+ title: string;
15
+ type: string;
16
+ }
17
+ export interface SlicerTask {
18
+ _id: string;
19
+ description: string;
20
+ image: string;
21
+ name: string;
22
+ type: string;
23
+ }
24
+ declare const useGirderSlicerApi: (girderRest: RestClient) => {
25
+ getSlicerList: () => Promise<import("axios").AxiosResponse<SlicerImage[], any>>;
26
+ getSlicerXML: (id: string) => Promise<import("axios").AxiosResponse<any, any>>;
27
+ validateParams: (xml: XMLSpecification) => boolean;
28
+ convertToParams: (xml: XMLSpecification) => Record<string, XMLBaseValue>;
29
+ runTask: (xml: XMLSpecification, taskid: string) => Promise<false | JobResponse>;
30
+ processInput: (xml: XMLSpecification, name: string) => Promise<void>;
31
+ };
32
+ export { useGirderSlicerApi };
@@ -0,0 +1,177 @@
1
+ import { PropType, Ref } from 'vue';
2
+ import { GirderModel, GirderModelType } from '../../girderTypes';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ apiUrl: {
5
+ type: StringConstructor;
6
+ default: string;
7
+ };
8
+ multi: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ type: {
13
+ type: StringConstructor;
14
+ default: string;
15
+ };
16
+ limit: {
17
+ type: NumberConstructor;
18
+ default: number;
19
+ };
20
+ output: {
21
+ type: BooleanConstructor;
22
+ required: false;
23
+ };
24
+ validation: {
25
+ type: PropType<(id: GirderModel) => ({
26
+ valid: boolean;
27
+ msg?: string;
28
+ })>;
29
+ default: () => {
30
+ valid: boolean;
31
+ };
32
+ };
33
+ parentId: {
34
+ type: StringConstructor;
35
+ required: false;
36
+ default: undefined;
37
+ };
38
+ girderId: {
39
+ type: StringConstructor;
40
+ required: false;
41
+ default: undefined;
42
+ };
43
+ name: {
44
+ type: StringConstructor;
45
+ required: false;
46
+ default: undefined;
47
+ };
48
+ }, {
49
+ home: Ref<string | null>;
50
+ collections: Ref<GirderModel[] | null>;
51
+ user: Ref<GirderModel | null>;
52
+ rootFolders: Ref<GirderModel[] | null>;
53
+ folderCount: Ref<number>;
54
+ folderShow: Ref<boolean>;
55
+ folderOffset: Ref<number>;
56
+ rootItems: Ref<GirderModel[] | null>;
57
+ itemCount: Ref<number>;
58
+ itemShow: Ref<boolean>;
59
+ itemOffset: Ref<number>;
60
+ iconMap: Ref<{
61
+ user: string;
62
+ collection: string;
63
+ folder: string;
64
+ item: string;
65
+ file: string;
66
+ }>;
67
+ breadCrumb: Ref<{
68
+ type: GirderModelType;
69
+ path: {
70
+ name: string;
71
+ id: string;
72
+ }[];
73
+ }>;
74
+ selected: Ref<{
75
+ name: string;
76
+ girderId: string;
77
+ parentId?: string | undefined;
78
+ fileId?: string | undefined;
79
+ } | null>;
80
+ selectedItems: Ref<Record<string, boolean>>;
81
+ selectedModel: Ref<GirderModel | null>;
82
+ errorMsg: Ref<string>;
83
+ users: Ref<GirderModel[] | null>;
84
+ currentParentType: Ref<string>;
85
+ mdiAccount: string;
86
+ mdiArrowUpRightBold: string;
87
+ mdiChevronDoubleLeft: string;
88
+ mdiChevronDoubleRight: string;
89
+ mdiChevronDown: string;
90
+ mdiChevronLeft: string;
91
+ mdiChevronRight: string;
92
+ mdiChevronUp: string;
93
+ mdiClose: string;
94
+ mdiEarth: string;
95
+ mdiFile: string;
96
+ mdiFolder: string;
97
+ mdiLock: string;
98
+ mdiSitemap: string;
99
+ updateOffset: (type: 'folder' | 'item', value: number) => void;
100
+ setRegularExpression: (data: string) => void;
101
+ setSelectedName: (data: string) => Promise<void>;
102
+ updateMainView: (parentId: string, parentType: string, name?: string, resetShow?: boolean) => Promise<void>;
103
+ upLevel: () => void;
104
+ countFormatter: (count: number | null) => string | number;
105
+ setRoot: ({ val, type, name }: {
106
+ val: string;
107
+ type: GirderModelType;
108
+ name: string;
109
+ }) => Promise<void>;
110
+ convertInputString: (e: Event) => string;
111
+ convertInputNumber: (e: Event) => number;
112
+ selecting: (item: GirderModel, type: 'folder' | 'file') => Promise<void>;
113
+ submit: () => Promise<void>;
114
+ sizeFormatter: (size: number, { base, unit }?: {
115
+ base?: number | undefined;
116
+ unit?: string | undefined;
117
+ }) => string;
118
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
119
+ apiUrl: {
120
+ type: StringConstructor;
121
+ default: string;
122
+ };
123
+ multi: {
124
+ type: BooleanConstructor;
125
+ default: boolean;
126
+ };
127
+ type: {
128
+ type: StringConstructor;
129
+ default: string;
130
+ };
131
+ limit: {
132
+ type: NumberConstructor;
133
+ default: number;
134
+ };
135
+ output: {
136
+ type: BooleanConstructor;
137
+ required: false;
138
+ };
139
+ validation: {
140
+ type: PropType<(id: GirderModel) => ({
141
+ valid: boolean;
142
+ msg?: string;
143
+ })>;
144
+ default: () => {
145
+ valid: boolean;
146
+ };
147
+ };
148
+ parentId: {
149
+ type: StringConstructor;
150
+ required: false;
151
+ default: undefined;
152
+ };
153
+ girderId: {
154
+ type: StringConstructor;
155
+ required: false;
156
+ default: undefined;
157
+ };
158
+ name: {
159
+ type: StringConstructor;
160
+ required: false;
161
+ default: undefined;
162
+ };
163
+ }>>, {
164
+ multi: boolean;
165
+ output: boolean;
166
+ name: string;
167
+ type: string;
168
+ parentId: string;
169
+ apiUrl: string;
170
+ limit: number;
171
+ validation: (id: GirderModel) => ({
172
+ valid: boolean;
173
+ msg?: string;
174
+ });
175
+ girderId: string;
176
+ }>;
177
+ export default _default;
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ isVisible: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ disabledConfirm: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ }, {
11
+ cancel: () => void;
12
+ confirm: () => void;
13
+ mdiClose: string;
14
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
15
+ isVisible: {
16
+ type: BooleanConstructor;
17
+ default: boolean;
18
+ };
19
+ disabledConfirm: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ }>>, {
24
+ isVisible: boolean;
25
+ disabledConfirm: boolean;
26
+ }>;
27
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { PropType } from 'vue';
2
+ import { GirderModel } from '../../girderTypes';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ value: {
5
+ type: StringConstructor;
6
+ required: true;
7
+ };
8
+ home: {
9
+ type: StringConstructor;
10
+ required: true;
11
+ };
12
+ users: {
13
+ type: PropType<GirderModel[]>;
14
+ required: true;
15
+ };
16
+ collections: {
17
+ type: PropType<GirderModel[]>;
18
+ required: true;
19
+ };
20
+ }, {
21
+ filteredUsers: import("vue").ComputedRef<GirderModel[]>;
22
+ update: (e: Event) => void;
23
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
24
+ value: {
25
+ type: StringConstructor;
26
+ required: true;
27
+ };
28
+ home: {
29
+ type: StringConstructor;
30
+ required: true;
31
+ };
32
+ users: {
33
+ type: PropType<GirderModel[]>;
34
+ required: true;
35
+ };
36
+ collections: {
37
+ type: PropType<GirderModel[]>;
38
+ required: true;
39
+ };
40
+ }>>, {}>;
41
+ export default _default;
@@ -0,0 +1,9 @@
1
+ declare const sizeFormatter: (size: number, { base, unit }?: {
2
+ base?: number | undefined;
3
+ unit?: string | undefined;
4
+ }) => string;
5
+ declare const countFormatter: (count: number | null) => string | number;
6
+ declare const convertInputNumber: (e: Event) => number;
7
+ declare const convertInputString: (e: Event) => string;
8
+ declare function isValidRegex(pattern: string): boolean;
9
+ export { sizeFormatter, isValidRegex, countFormatter, convertInputNumber, convertInputString, };
@@ -0,0 +1,29 @@
1
+ import { PropType } from 'vue';
2
+ import type { XMLPanel, XMLParameters } from '../parser/parserTypes';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ panel: {
5
+ type: PropType<XMLPanel>;
6
+ required: true;
7
+ };
8
+ collapseOverride: {
9
+ type: BooleanConstructor;
10
+ required: false;
11
+ };
12
+ }, {
13
+ collapsed: import("vue").Ref<boolean>;
14
+ updateParams: (e: XMLParameters[]) => void;
15
+ mdiChevronDown: string;
16
+ mdiChevronUp: string;
17
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
18
+ panel: {
19
+ type: PropType<XMLPanel>;
20
+ required: true;
21
+ };
22
+ collapseOverride: {
23
+ type: BooleanConstructor;
24
+ required: false;
25
+ };
26
+ }>>, {
27
+ collapseOverride: boolean;
28
+ }>;
29
+ export default _default;
@@ -0,0 +1,50 @@
1
+ import { PropType } from 'vue';
2
+ import type { XMLParameters } from '../parser/parserTypes';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ parameters: {
5
+ type: PropType<XMLParameters[]>;
6
+ required: true;
7
+ };
8
+ }, {
9
+ baseParmaeters: string[];
10
+ paramCopy: import("vue").Ref<{
11
+ type: import("../parser/parserTypes").ParamSlicerType;
12
+ slicerType: import("../parser/parserTypes").ParamGUIType;
13
+ title: string;
14
+ description: string;
15
+ channel?: "input" | "output" | undefined;
16
+ id: string;
17
+ value?: import("../parser/parserTypes").XMLBaseValue | undefined;
18
+ values?: import("../parser/parserTypes").XMLBaseValue[] | undefined;
19
+ constraints?: {
20
+ min?: import("../parser/parserTypes").XMLBaseValue | undefined;
21
+ max?: import("../parser/parserTypes").XMLBaseValue | undefined;
22
+ step?: import("../parser/parserTypes").XMLBaseValue | undefined;
23
+ } | undefined;
24
+ defaultValue?: import("../parser/parserTypes").XMLBaseValue | undefined;
25
+ fileValue?: {
26
+ girderId: string;
27
+ name: string;
28
+ parentId: string;
29
+ regExp?: boolean | undefined;
30
+ fileId?: string | undefined;
31
+ } | undefined;
32
+ required?: boolean | undefined;
33
+ extensions?: string | undefined;
34
+ reference?: string | undefined;
35
+ defaultNameMatch?: string | undefined;
36
+ defaultPathMatch?: string | undefined;
37
+ defaultRelativePath?: string | undefined;
38
+ multiple?: boolean | undefined;
39
+ datalist?: boolean | undefined;
40
+ shapes?: string | undefined;
41
+ error?: string | undefined;
42
+ }[]>;
43
+ updateParameter: (data: XMLParameters, index: number) => void;
44
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
45
+ parameters: {
46
+ type: PropType<XMLParameters[]>;
47
+ required: true;
48
+ };
49
+ }>>, {}>;
50
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { Ref } from "vue";
2
+ type TaskHierarchy = Record<string, {
3
+ tag: string;
4
+ tasks: {
5
+ imageBase: string;
6
+ imageTag: string;
7
+ _id: string;
8
+ name: string;
9
+ description: string;
10
+ }[];
11
+ }[]>;
12
+ declare const _default: import("vue").DefineComponent<{
13
+ apiUrl: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ filter: {
18
+ type: StringConstructor;
19
+ default: string;
20
+ };
21
+ }, {
22
+ results: Ref<TaskHierarchy>;
23
+ mdiAlert: string;
24
+ mdiChevronDown: string;
25
+ mdiChevronRight: string;
26
+ loggedIn: import("vue").ComputedRef<string | null>;
27
+ select: (id: string) => void;
28
+ clicked: Ref<boolean>;
29
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
30
+ apiUrl: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ filter: {
35
+ type: StringConstructor;
36
+ default: string;
37
+ };
38
+ }>>, {
39
+ filter: string;
40
+ apiUrl: string;
41
+ }>;
42
+ export default _default;
@@ -0,0 +1,44 @@
1
+ import { PropType, Ref } from 'vue';
2
+ import { JobResponse } from '../api/girderSlicerApi';
3
+ import type { XMLParameters, XMLSpecification } from '../parser/parserTypes';
4
+ declare const _default: import("vue").DefineComponent<{
5
+ apiUrl: {
6
+ type: StringConstructor;
7
+ default: string;
8
+ };
9
+ taskId: {
10
+ type: PropType<string | null>;
11
+ default: string;
12
+ };
13
+ defaults: {
14
+ type: PropType<(item: XMLParameters) => undefined | null | XMLParameters>;
15
+ default: (_item: XMLParameters) => undefined;
16
+ };
17
+ }, {
18
+ result: Ref<XMLSpecification | null>;
19
+ runTask: () => Promise<void>;
20
+ cancel: () => void;
21
+ updateParameters: (e: XMLParameters[], index: number) => void;
22
+ processInput: (name: string) => Promise<void>;
23
+ jobData: Ref<JobResponse | null>;
24
+ loggedIn: import("vue").ComputedRef<string | null>;
25
+ mdiClose: string;
26
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
27
+ apiUrl: {
28
+ type: StringConstructor;
29
+ default: string;
30
+ };
31
+ taskId: {
32
+ type: PropType<string | null>;
33
+ default: string;
34
+ };
35
+ defaults: {
36
+ type: PropType<(item: XMLParameters) => undefined | null | XMLParameters>;
37
+ default: (_item: XMLParameters) => undefined;
38
+ };
39
+ }>>, {
40
+ apiUrl: string;
41
+ taskId: string | null;
42
+ defaults: (item: XMLParameters) => undefined | null | XMLParameters;
43
+ }>;
44
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { Ref } from "vue";
2
+ import { SlicerImage } from "../api/girderSlicerApi";
3
+ import { PropType } from "vue/types/v3-component-props";
4
+ interface TaskInfo {
5
+ tag: string;
6
+ tasks: {
7
+ imageBase: string;
8
+ imageTag: string;
9
+ _id: string;
10
+ name: string;
11
+ description: string;
12
+ }[];
13
+ }
14
+ type TaskHierarchy = Record<string, [
15
+ TaskInfo
16
+ ]>;
17
+ declare const _default: import("vue").DefineComponent<{
18
+ apiUrl: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ filter: {
23
+ type: PropType<(task: SlicerImage) => boolean>;
24
+ default: (_task: SlicerImage) => true;
25
+ };
26
+ }, {
27
+ results: Ref<TaskHierarchy>;
28
+ mdiAlert: string;
29
+ mdiChevronDown: string;
30
+ mdiChevronRight: string;
31
+ loggedIn: import("vue").ComputedRef<string | null>;
32
+ select: (id: string, name: string) => void;
33
+ clicked: Ref<Record<string, boolean>>;
34
+ selectItem: (item: string) => void;
35
+ selected: Ref<string | null>;
36
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
37
+ apiUrl: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ filter: {
42
+ type: PropType<(task: SlicerImage) => boolean>;
43
+ default: (_task: SlicerImage) => true;
44
+ };
45
+ }>>, {
46
+ filter: (task: SlicerImage) => boolean;
47
+ apiUrl: string;
48
+ }>;
49
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import { SlicerImage } from "../api/girderSlicerApi";
2
+ import { PropType } from "vue/types/v3-component-props";
3
+ declare const _default: import("vue").DefineComponent<{
4
+ apiUrl: {
5
+ type: StringConstructor;
6
+ default: string;
7
+ };
8
+ filter: {
9
+ type: PropType<(task: SlicerImage) => boolean>;
10
+ default: (_task: SlicerImage) => true;
11
+ };
12
+ }, {
13
+ accept: () => void;
14
+ processSelected: (data: {
15
+ id: string;
16
+ name: string;
17
+ }) => void;
18
+ selected: import("vue").Ref<string>;
19
+ selectedId: import("vue").Ref<string>;
20
+ selectedName: import("vue").Ref<string>;
21
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
22
+ apiUrl: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ filter: {
27
+ type: PropType<(task: SlicerImage) => boolean>;
28
+ default: (_task: SlicerImage) => true;
29
+ };
30
+ }>>, {
31
+ filter: (task: SlicerImage) => boolean;
32
+ apiUrl: string;
33
+ }>;
34
+ export default _default;