@e280/quay 0.0.0-2 → 0.0.0-20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -0
- package/package.json +17 -11
- package/s/cellar/cask.ts +1 -13
- package/s/cellar/cellar.test.ts +25 -42
- package/s/cellar/cellar.ts +16 -20
- package/s/cellar/index.ts +0 -4
- package/s/cellar/mammoth.ts +50 -0
- package/s/cellar/mammoth.worker.bundle.ts +30 -0
- package/s/demo/main.bundle.ts +2 -3
- package/s/dom/components/breadcrumb/component.ts +6 -5
- package/s/dom/components/browser/component.ts +11 -7
- package/s/dom/components/browser/style.css.ts +31 -31
- package/s/dom/components/dropzone/component.ts +6 -4
- package/s/dom/components/dropzone/style.css.ts +12 -13
- package/s/dom/components/filter/component.ts +13 -8
- package/s/dom/components/outliner/component.ts +8 -5
- package/s/dom/components/searchbar/component.ts +13 -7
- package/s/dom/components/sort/component.ts +13 -9
- package/s/dom/theme.css.ts +66 -2
- package/s/dom/views/tree/component.ts +10 -8
- package/s/dom/views/tree/style.css.ts +10 -10
- package/s/genius/parts/hy-tree.ts +10 -9
- package/s/index.html.ts +68 -73
- package/s/index.ts +6 -1
- package/s/logic/aspects/codex/codex.ts +3 -3
- package/s/logic/aspects/codex/example.ts +1 -4
- package/s/logic/aspects/codex/parts/codex-item.ts +4 -4
- package/s/logic/aspects/codex/parts/hierarchy.ts +1 -0
- package/s/logic/aspects/codex/parts/types.ts +1 -1
- package/s/logic/aspects/dropzone.ts +20 -16
- package/s/logic/aspects/tree-trail.ts +5 -4
- package/s/logic/brain.ts +5 -3
- package/s/logic/group.ts +13 -10
- package/s/logic/presets/media/group.ts +5 -4
- package/s/logic/presets/media/library.test.ts +82 -0
- package/s/logic/presets/media/library.ts +249 -0
- package/s/logic/presets/media/schema.ts +10 -1
- package/s/logic/presets/opfs/schema.ts +1 -1
- package/s/logic/presets/plain/group.ts +2 -2
- package/s/logic/presets/plain/schema.ts +1 -1
- package/s/logic/types.ts +1 -1
- package/s/tests.test.ts +2 -0
- package/x/cellar/cask.d.ts +2 -4
- package/x/cellar/cask.js +3 -12
- package/x/cellar/cask.js.map +1 -1
- package/x/cellar/cellar.d.ts +9 -7
- package/x/cellar/cellar.js +17 -22
- package/x/cellar/cellar.js.map +1 -1
- package/x/cellar/cellar.test.d.ts +2 -3
- package/x/cellar/cellar.test.js +24 -39
- package/x/cellar/cellar.test.js.map +1 -1
- package/x/cellar/index.d.ts +0 -3
- package/x/cellar/index.js +0 -3
- package/x/cellar/index.js.map +1 -1
- package/x/cellar/mammoth.d.ts +23 -0
- package/x/cellar/mammoth.js +34 -0
- package/x/cellar/mammoth.js.map +1 -0
- package/x/cellar/mammoth.worker.bundle.d.ts +1 -0
- package/x/cellar/mammoth.worker.bundle.js +20 -0
- package/x/cellar/mammoth.worker.bundle.js.map +1 -0
- package/x/cellar/mammoth.worker.bundle.min.js +8 -0
- package/x/cellar/mammoth.worker.bundle.min.js.map +7 -0
- package/x/demo/main.bundle.js +2 -2
- package/x/demo/main.bundle.js.map +1 -1
- package/x/demo/main.bundle.min.js +229 -197
- package/x/demo/main.bundle.min.js.LEGAL.txt +33 -0
- package/x/demo/main.bundle.min.js.map +7 -0
- package/x/dom/components/breadcrumb/component.d.ts +1 -1
- package/x/dom/components/breadcrumb/component.js +6 -5
- package/x/dom/components/breadcrumb/component.js.map +1 -1
- package/x/dom/components/browser/component.d.ts +1 -1
- package/x/dom/components/browser/component.js +10 -7
- package/x/dom/components/browser/component.js.map +1 -1
- package/x/dom/components/browser/style.css.d.ts +1 -1
- package/x/dom/components/browser/style.css.js +31 -30
- package/x/dom/components/browser/style.css.js.map +1 -1
- package/x/dom/components/dropzone/component.d.ts +1 -1
- package/x/dom/components/dropzone/component.js +6 -4
- package/x/dom/components/dropzone/component.js.map +1 -1
- package/x/dom/components/dropzone/style.css.d.ts +1 -1
- package/x/dom/components/dropzone/style.css.js +12 -12
- package/x/dom/components/dropzone/style.css.js.map +1 -1
- package/x/dom/components/filter/component.d.ts +1 -1
- package/x/dom/components/filter/component.js +10 -8
- package/x/dom/components/filter/component.js.map +1 -1
- package/x/dom/components/outliner/component.d.ts +1 -1
- package/x/dom/components/outliner/component.js +7 -5
- package/x/dom/components/outliner/component.js.map +1 -1
- package/x/dom/components/searchbar/component.d.ts +1 -1
- package/x/dom/components/searchbar/component.js +12 -6
- package/x/dom/components/searchbar/component.js.map +1 -1
- package/x/dom/components/sort/component.d.ts +1 -1
- package/x/dom/components/sort/component.js +11 -9
- package/x/dom/components/sort/component.js.map +1 -1
- package/x/dom/components.d.ts +7 -7
- package/x/dom/theme.css.d.ts +1 -1
- package/x/dom/theme.css.js +65 -1
- package/x/dom/theme.css.js.map +1 -1
- package/x/dom/views/tree/component.d.ts +1 -6
- package/x/dom/views/tree/component.js +10 -8
- package/x/dom/views/tree/component.js.map +1 -1
- package/x/dom/views/tree/style.css.d.ts +1 -1
- package/x/dom/views/tree/style.css.js +10 -10
- package/x/dom/views/tree/style.css.js.map +1 -1
- package/x/genius/parts/hy-tree.js +9 -8
- package/x/genius/parts/hy-tree.js.map +1 -1
- package/x/index.d.ts +6 -1
- package/x/index.html +70 -167
- package/x/index.html.d.ts +1 -2
- package/x/index.html.js +67 -73
- package/x/index.html.js.map +1 -1
- package/x/index.js +6 -1
- package/x/index.js.map +1 -1
- package/x/logic/aspects/codex/codex.js +3 -3
- package/x/logic/aspects/codex/codex.js.map +1 -1
- package/x/logic/aspects/codex/example.d.ts +0 -1
- package/x/logic/aspects/codex/example.js +1 -3
- package/x/logic/aspects/codex/example.js.map +1 -1
- package/x/logic/aspects/codex/parts/codex-item.d.ts +1 -1
- package/x/logic/aspects/codex/parts/codex-item.js +4 -4
- package/x/logic/aspects/codex/parts/codex-item.js.map +1 -1
- package/x/logic/aspects/codex/parts/hierarchy.js +1 -0
- package/x/logic/aspects/codex/parts/hierarchy.js.map +1 -1
- package/x/logic/aspects/codex/parts/types.d.ts +1 -1
- package/x/logic/aspects/dropzone.d.ts +1 -1
- package/x/logic/aspects/dropzone.js +19 -15
- package/x/logic/aspects/dropzone.js.map +1 -1
- package/x/logic/aspects/tree-trail.d.ts +1 -1
- package/x/logic/aspects/tree-trail.js +4 -4
- package/x/logic/aspects/tree-trail.js.map +1 -1
- package/x/logic/brain.d.ts +4 -2
- package/x/logic/brain.js.map +1 -1
- package/x/logic/group.d.ts +7 -7
- package/x/logic/group.js +10 -8
- package/x/logic/group.js.map +1 -1
- package/x/logic/presets/media/group.d.ts +1 -1
- package/x/logic/presets/media/group.js +3 -3
- package/x/logic/presets/media/group.js.map +1 -1
- package/x/logic/presets/media/library.d.ts +59 -0
- package/x/logic/presets/media/library.js +201 -0
- package/x/logic/presets/media/library.js.map +1 -0
- package/x/logic/presets/media/library.test.d.ts +9 -0
- package/x/logic/presets/media/library.test.js +62 -0
- package/x/logic/presets/media/library.test.js.map +1 -0
- package/x/logic/presets/media/schema.d.ts +10 -1
- package/x/logic/presets/opfs/schema.d.ts +1 -1
- package/x/logic/presets/plain/group.js +2 -2
- package/x/logic/presets/plain/group.js.map +1 -1
- package/x/logic/presets/plain/schema.d.ts +1 -1
- package/x/logic/types.d.ts +1 -1
- package/x/tests.test.js +2 -0
- package/x/tests.test.js.map +1 -1
- package/s/cellar/forklift.ts +0 -9
- package/s/cellar/memory-forklift.ts +0 -29
- package/s/cellar/opfs-forklift.ts +0 -49
- package/x/cellar/forklift.d.ts +0 -7
- package/x/cellar/forklift.js +0 -2
- package/x/cellar/forklift.js.map +0 -1
- package/x/cellar/memory-forklift.d.ts +0 -9
- package/x/cellar/memory-forklift.js +0 -21
- package/x/cellar/memory-forklift.js.map +0 -1
- package/x/cellar/opfs-forklift.d.ts +0 -11
- package/x/cellar/opfs-forklift.js +0 -44
- package/x/cellar/opfs-forklift.js.map +0 -1
- package/x/genius/folio.md +0 -29
- package/x/genius/quay.md +0 -13
- package/x/genius/turbo.md +0 -21
- package/x/importmap.json +0 -47
package/x/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { css } from "lit";
|
|
2
|
+
export { dom } from "@e280/sly";
|
|
2
3
|
export * from "./cellar/index.js";
|
|
3
4
|
export * from "./dom/components.js";
|
|
5
|
+
export { brain } from "./dom/context.js";
|
|
6
|
+
export * from "./logic/presets/media/schema.js";
|
|
7
|
+
export * from "./logic/presets/media/group.js";
|
|
8
|
+
export * from "./logic/presets/media/library.js";
|
|
4
9
|
import { Permissions } from "./logic/permissions.js";
|
|
5
10
|
const Quay = {
|
|
6
11
|
permissions: Permissions,
|
package/x/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AAEjC,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAElD,MAAM,IAAI,GAAG;IACZ,WAAW,EAAE,WAAW;CACxB,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -24,16 +24,16 @@ export class Codex {
|
|
|
24
24
|
this.clade.setSpecimen(id, kind, specimen);
|
|
25
25
|
const item = new CodexItem(this, id);
|
|
26
26
|
this.#items.set(id, item);
|
|
27
|
-
return item.signal
|
|
27
|
+
return item.signal();
|
|
28
28
|
}
|
|
29
29
|
/** add an item to the hierachy as a root root */
|
|
30
30
|
root(item) {
|
|
31
31
|
this.hierarchy.establishRoot(item.id);
|
|
32
|
-
return item.signal
|
|
32
|
+
return item.signal();
|
|
33
33
|
}
|
|
34
34
|
/** get an item by its id */
|
|
35
35
|
require(id) {
|
|
36
|
-
return this.#items.require(id).signal
|
|
36
|
+
return this.#items.require(id).signal();
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAE9B,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAGjD,MAAM,OAAO,KAAK;IAWT;IACA;IAXR,MAAM,CAAC,KAAK,CAAoB,MAAkB;QACjD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAK,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QACjC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,IAAI,IAAI,EAAqB,CAAA;IAEtC,YACQ,KAAgB,EAChB,SAAoB;QADpB,UAAK,GAAL,KAAK,CAAW;QAChB,cAAS,GAAT,SAAS,CAAW;IACzB,CAAC;IAEJ,iDAAiD;IACjD,MAAM,CAAkC,IAAO,EAAE,QAA4B;QAC5E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAE9B,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAA;AAGjD,MAAM,OAAO,KAAK;IAWT;IACA;IAXR,MAAM,CAAC,KAAK,CAAoB,MAAkB;QACjD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAK,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QACjC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,IAAI,IAAI,EAAqB,CAAA;IAEtC,YACQ,KAAgB,EAChB,SAAoB;QADpB,UAAK,GAAL,KAAK,CAAW;QAChB,cAAS,GAAT,SAAS,CAAW;IACzB,CAAC;IAEJ,iDAAiD;IACjD,MAAM,CAAkC,IAAO,EAAE,QAA4B;QAC5E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;IAED,iDAAiD;IACjD,IAAI,CAA0B,IAAO;QACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,EAAM;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAA;IACxC,CAAC;CACD"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import "@benev/slate/x/node.js";
|
|
2
|
-
import { repeat_string } from "@benev/turtle";
|
|
3
1
|
import { Codex } from "./codex.js";
|
|
4
2
|
// we create a codex that uses our schema, and specifies these icons
|
|
5
3
|
const codex = Codex.setup({
|
|
@@ -26,7 +24,7 @@ src
|
|
|
26
24
|
// we can crawl any folder!
|
|
27
25
|
// 👇
|
|
28
26
|
for (const [item, ancestors] of folder.crawl()) {
|
|
29
|
-
const indent =
|
|
27
|
+
const indent = " ".repeat(ancestors.length);
|
|
30
28
|
const specimen = item.specimen;
|
|
31
29
|
const label = item.kind === "folder"
|
|
32
30
|
? specimen.label + "/"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/example.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../s/logic/aspects/codex/example.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAA;AAgBhC,oEAAoE;AACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAmB;IAC3C,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;IACpB,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;CAClB,CAAC,CAAA;AAEF,uCAAuC;AACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;AACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAA;AACzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAA;AAE/D,0CAA0C;AAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;AAEvD,4DAA4D;AAC5D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;KAChB,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC,4BAA4B;AAE1C,0CAA0C;AAC1C,GAAG;KACD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,KAAK,CAAC,CAAA;AAEd,6CAA6C;AAC7C,wCAAwC;AACzC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG;QACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;AAC5B,CAAC;AAED,WAAW;AACX,cAAc;AACd,iBAAiB;AACjB,SAAS;AACT,eAAe;AACf,eAAe"}
|
|
@@ -8,7 +8,7 @@ import { Id, Kind, Schema } from "./types.js";
|
|
|
8
8
|
export declare class CodexItem<Sc extends Schema = any, K extends Kind<Sc> = Kind<Sc>> {
|
|
9
9
|
private codex;
|
|
10
10
|
id: Id;
|
|
11
|
-
signal: import("@
|
|
11
|
+
signal: import("@e280/strata").Signal<this>;
|
|
12
12
|
constructor(codex: Codex<Sc>, id: Id);
|
|
13
13
|
get kind(): K;
|
|
14
14
|
isKind<K2 extends Kind<Sc>>(kind: K2): this is CodexItem<Sc, K2>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { signal } from "@
|
|
1
|
+
import { signal } from "@e280/strata";
|
|
2
2
|
/**
|
|
3
3
|
* Codex Item
|
|
4
4
|
* - Quay's concept of a nestable thing.
|
|
@@ -42,13 +42,13 @@ export class CodexItem {
|
|
|
42
42
|
/** add items as children */
|
|
43
43
|
attach(...items) {
|
|
44
44
|
this.codex.hierarchy.attach(this.id, ...items.map(i => i.id));
|
|
45
|
-
this.signal
|
|
45
|
+
this.signal(this);
|
|
46
46
|
return this;
|
|
47
47
|
}
|
|
48
48
|
/** detach this item from the hierarchy completely */
|
|
49
49
|
detach() {
|
|
50
50
|
this.codex.hierarchy.detach(this.id);
|
|
51
|
-
this.signal
|
|
51
|
+
this.signal(this);
|
|
52
52
|
}
|
|
53
53
|
/** create a new item that will be a child */
|
|
54
54
|
create(kind, specimen) {
|
|
@@ -59,7 +59,7 @@ export class CodexItem {
|
|
|
59
59
|
/** create a new item that will be a child */
|
|
60
60
|
destroy() {
|
|
61
61
|
this.codex.hierarchy.destroy(this.id);
|
|
62
|
-
this.signal
|
|
62
|
+
this.signal(this);
|
|
63
63
|
}
|
|
64
64
|
/** iterate over this item and all its descendants */
|
|
65
65
|
*crawl(predicate = () => true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-item.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/codex-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAIZ;IACD;IAJR,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAErB,YACS,KAAgB,EACjB,EAAM;QADL,UAAK,GAAL,KAAK,CAAW;QACjB,OAAE,GAAF,EAAE,CAAI;IACX,CAAC;IAEJ,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;IAC/C,CAAC;IAED,MAAM,CAAsB,IAAQ;QACnC,OAAO,CAAC,IAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;IAC7C,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAI,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAA;IACnD,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,OAAO,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAkB;YAC7C,CAAC,CAAC,SAAS,CAAA;IACb,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ;QACX,mGAAmG;QACnG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,GAAG,KAAsB;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"codex-item.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/codex-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../../s/logic/aspects/codex/parts/hierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare class Dropzone {
|
|
|
6
6
|
constructor(group: Group);
|
|
7
7
|
get grabbed(): CodexItem<any, string | number | symbol> | undefined;
|
|
8
8
|
get hovering(): CodexItem<any, string | number | symbol> | undefined;
|
|
9
|
-
dragenter: (e: DragEvent, target
|
|
9
|
+
dragenter: (e: DragEvent, target: CodexItem) => void;
|
|
10
10
|
dragleave: (e: DragEvent) => void;
|
|
11
11
|
dragstart: (e: DragEvent, n: CodexItem) => void;
|
|
12
12
|
dragover: (e: DragEvent, n: CodexItem) => void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loot } from "@e280/sly/loot";
|
|
2
|
+
import { signal } from "@e280/strata";
|
|
2
3
|
export class Dropzone {
|
|
3
4
|
group;
|
|
4
|
-
#drag_drop = new
|
|
5
|
-
|
|
5
|
+
#drag_drop = new loot.DragAndDrops({
|
|
6
|
+
acceptDrop: (_e, grabbed, hovering) => this.group.move(grabbed, hovering)
|
|
6
7
|
});
|
|
7
8
|
constructor(group) {
|
|
8
9
|
this.group = group;
|
|
@@ -10,31 +11,34 @@ export class Dropzone {
|
|
|
10
11
|
// to make drop file to import ui work
|
|
11
12
|
#hovering = signal(undefined);
|
|
12
13
|
get grabbed() {
|
|
13
|
-
return this.#drag_drop.
|
|
14
|
+
return this.#drag_drop.dragging;
|
|
14
15
|
}
|
|
15
16
|
get hovering() {
|
|
16
|
-
return this.#drag_drop.hovering ?? this.#hovering
|
|
17
|
+
return this.#drag_drop.hovering ?? this.#hovering();
|
|
17
18
|
}
|
|
18
19
|
dragenter = (e, target) => {
|
|
19
20
|
e.preventDefault();
|
|
20
|
-
this.#drag_drop.dropzone.dragenter(
|
|
21
|
-
this.#hovering
|
|
21
|
+
this.#drag_drop.dropzone(() => target).dragenter(e);
|
|
22
|
+
this.#hovering(target);
|
|
22
23
|
};
|
|
23
24
|
dragleave = (e) => {
|
|
24
|
-
this
|
|
25
|
-
|
|
25
|
+
const hovering = this.hovering;
|
|
26
|
+
if (hovering)
|
|
27
|
+
this.#drag_drop.dropzone(() => hovering).dragleave(e);
|
|
28
|
+
this.#hovering(undefined);
|
|
26
29
|
};
|
|
27
30
|
dragstart = (e, n) => {
|
|
28
31
|
e.stopPropagation();
|
|
29
|
-
this.#drag_drop.dragzone
|
|
32
|
+
this.#drag_drop.dragzone(() => n).dragstart(e);
|
|
30
33
|
};
|
|
31
34
|
dragover = (e, n) => {
|
|
32
35
|
e.preventDefault();
|
|
33
|
-
this.#drag_drop.dropzone
|
|
36
|
+
this.#drag_drop.dropzone(() => n).dragover(e);
|
|
34
37
|
};
|
|
35
38
|
dragend = (e) => {
|
|
36
|
-
this.#drag_drop
|
|
37
|
-
this.#
|
|
39
|
+
this.#drag_drop.$draggy(undefined);
|
|
40
|
+
this.#drag_drop.$droppy(undefined);
|
|
41
|
+
this.#hovering(undefined);
|
|
38
42
|
};
|
|
39
43
|
drop = (e, target) => {
|
|
40
44
|
e.preventDefault();
|
|
@@ -46,8 +50,8 @@ export class Dropzone {
|
|
|
46
50
|
const child = this.grabbed?.children.some(c => this.hovering?.id === c.id);
|
|
47
51
|
const parent = this.grabbed?.parent?.id === this.hovering?.id;
|
|
48
52
|
if (!same && !child && !parent)
|
|
49
|
-
this.#drag_drop.dropzone
|
|
50
|
-
this.#hovering
|
|
53
|
+
this.#drag_drop.dropzone(() => target).drop(e);
|
|
54
|
+
this.#hovering(undefined);
|
|
51
55
|
};
|
|
52
56
|
change = (e, targetFolder) => {
|
|
53
57
|
const input = e.currentTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropzone.js","sourceRoot":"","sources":["../../../s/logic/aspects/dropzone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"dropzone.js","sourceRoot":"","sources":["../../../s/logic/aspects/dropzone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Schema } from "./codex/parts/types.js";
|
|
2
2
|
import { CodexItem } from "./codex/parts/codex-item.js";
|
|
3
3
|
export declare class TreeTrail<Sc extends Schema> {
|
|
4
|
-
readonly signal: import("@
|
|
4
|
+
readonly signal: import("@e280/strata").Signal<CodexItem<Sc, keyof Sc["specimens"]>[]>;
|
|
5
5
|
constructor(root: CodexItem<Sc>);
|
|
6
6
|
setTrail(e: Event, item: CodexItem<Sc>): void;
|
|
7
7
|
get currentFolder(): CodexItem<Sc, keyof Sc["specimens"]>[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { signal } from "@
|
|
1
|
+
import { signal } from "@e280/strata";
|
|
2
2
|
export class TreeTrail {
|
|
3
3
|
signal = signal([]);
|
|
4
4
|
constructor(root) {
|
|
5
|
-
this.signal
|
|
5
|
+
this.signal([root]);
|
|
6
6
|
}
|
|
7
7
|
setTrail(e, item) {
|
|
8
8
|
if (e.target !== e.currentTarget)
|
|
@@ -15,10 +15,10 @@ export class TreeTrail {
|
|
|
15
15
|
trail.unshift(cur);
|
|
16
16
|
cur = cur.parent;
|
|
17
17
|
}
|
|
18
|
-
this.signal
|
|
18
|
+
this.signal(trail);
|
|
19
19
|
}
|
|
20
20
|
get currentFolder() {
|
|
21
|
-
return this.signal.
|
|
21
|
+
return this.signal().at(-1)?.children ?? [];
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=tree-trail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-trail.js","sourceRoot":"","sources":["../../../s/logic/aspects/tree-trail.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree-trail.js","sourceRoot":"","sources":["../../../s/logic/aspects/tree-trail.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC,MAAM,OAAO,SAAS;IACZ,MAAM,GAAG,MAAM,CAAkB,EAAE,CAAC,CAAA;IAE7C,YAAY,IAAmB;QAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,QAAQ,CAAC,CAAQ,EAAE,IAAmB;QACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;YAAE,OAAM;QAExC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAEd,OAAO,GAAG,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAA;IAC5C,CAAC;CACD"}
|
package/x/logic/brain.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Group } from "./group.js";
|
|
2
|
+
type RegisteredGroup<G> = G extends Group<infer _Schema> ? G : never;
|
|
2
3
|
/**
|
|
3
4
|
* Quay's global state
|
|
4
5
|
* - manages groups
|
|
@@ -6,6 +7,7 @@ import { Group } from "./group.js";
|
|
|
6
7
|
*/
|
|
7
8
|
export declare class Brain {
|
|
8
9
|
#private;
|
|
9
|
-
setGroup<G
|
|
10
|
-
getGroup<G
|
|
10
|
+
setGroup<G>(name: string, group: RegisteredGroup<G>): RegisteredGroup<G>;
|
|
11
|
+
getGroup<G = Group>(name: string): RegisteredGroup<G>;
|
|
11
12
|
}
|
|
13
|
+
export {};
|
package/x/logic/brain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../s/logic/brain.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"brain.js","sourceRoot":"","sources":["../../s/logic/brain.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAK9B;;;;GAIG;AACH,MAAM,OAAO,KAAK;IACjB,OAAO,GAAG,IAAI,IAAI,EAAiB,CAAA;IAEnC,QAAQ,CAAI,IAAY,EAAE,KAAyB;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7B,OAAO,KAAK,CAAA;IACb,CAAC;IAED,QAAQ,CAAY,IAAY;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAuB,CAAA;IACxD,CAAC;CACD"}
|
package/x/logic/group.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ export declare class Group<Sc extends Schema = any> {
|
|
|
8
8
|
config: GroupConfig<Sc>;
|
|
9
9
|
trail: TreeTrail<Sc>;
|
|
10
10
|
dropzone: Dropzone;
|
|
11
|
-
searchText: import("@
|
|
12
|
-
selectedFilter: import("@
|
|
13
|
-
selectedSort: import("@
|
|
11
|
+
searchText: import("@e280/strata").Signal<string>;
|
|
12
|
+
selectedFilter: import("@e280/strata").Signal<string>;
|
|
13
|
+
selectedSort: import("@e280/strata").Signal<string>;
|
|
14
14
|
on: {
|
|
15
15
|
newFolder: import("@e280/stz").Sub<[{
|
|
16
16
|
parent: CodexItem<Sc>;
|
|
@@ -20,7 +20,7 @@ export declare class Group<Sc extends Schema = any> {
|
|
|
20
20
|
target: CodexItem<Sc>;
|
|
21
21
|
}]>;
|
|
22
22
|
delete: import("@e280/stz").Sub<[{
|
|
23
|
-
|
|
23
|
+
items: CodexItem<Sc>[];
|
|
24
24
|
}]>;
|
|
25
25
|
rename: import("@e280/stz").Sub<[{
|
|
26
26
|
item: CodexItem<Sc>;
|
|
@@ -36,16 +36,16 @@ export declare class Group<Sc extends Schema = any> {
|
|
|
36
36
|
refresh: import("@e280/stz").Sub<[{}]>;
|
|
37
37
|
};
|
|
38
38
|
constructor(config: GroupConfig<Sc>);
|
|
39
|
-
get permissions(): (item: CodexItem) => Permission;
|
|
39
|
+
get permissions(): (item: CodexItem<Sc>) => Permission;
|
|
40
40
|
getFilterFn(filterKey: string): SearchFn<Sc>;
|
|
41
41
|
getSearchFn(searchText: string): SearchFn<Sc>;
|
|
42
42
|
getSortFn(sortKey: string): SortFn<Sc>;
|
|
43
43
|
sort(items: CodexItem<Sc>[]): CodexItem<Sc>[];
|
|
44
44
|
matches(item: CodexItem<Sc>): boolean;
|
|
45
45
|
move(item: CodexItem<Sc>, target: CodexItem<Sc>): void;
|
|
46
|
-
delete(item: CodexItem<Sc>): void
|
|
46
|
+
delete(item: CodexItem<Sc>): Promise<void>;
|
|
47
47
|
rename(item: CodexItem<Sc>, newName: string): void;
|
|
48
|
-
upload(files: File[], folder: CodexItem<Sc>): void
|
|
48
|
+
upload(files: File[], folder: CodexItem<Sc>): Promise<void>;
|
|
49
49
|
addFolder(parent: CodexItem<Sc>): void;
|
|
50
50
|
components: () => () => /*elided*/ any;
|
|
51
51
|
}
|
package/x/logic/group.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sub } from "@e280/stz";
|
|
2
|
-
import { signal } from "@
|
|
2
|
+
import { signal } from "@e280/strata";
|
|
3
3
|
import { Dropzone } from "./aspects/dropzone.js";
|
|
4
4
|
import { TreeTrail } from "./aspects/tree-trail.js";
|
|
5
5
|
export class Group {
|
|
@@ -20,8 +20,8 @@ export class Group {
|
|
|
20
20
|
};
|
|
21
21
|
constructor(config) {
|
|
22
22
|
this.config = config;
|
|
23
|
-
this.selectedFilter
|
|
24
|
-
this.selectedSort
|
|
23
|
+
this.selectedFilter(config.defaultFilter);
|
|
24
|
+
this.selectedSort(config.defaultSort);
|
|
25
25
|
this.trail = new TreeTrail(config.root);
|
|
26
26
|
}
|
|
27
27
|
get permissions() {
|
|
@@ -38,12 +38,12 @@ export class Group {
|
|
|
38
38
|
return this.config.sorts?.get(sortKey) ?? (() => 0);
|
|
39
39
|
}
|
|
40
40
|
sort(items) {
|
|
41
|
-
const sortFn = this.getSortFn(this.selectedSort
|
|
41
|
+
const sortFn = this.getSortFn(this.selectedSort());
|
|
42
42
|
return [...items].sort(sortFn);
|
|
43
43
|
}
|
|
44
44
|
matches(item) {
|
|
45
|
-
const filterFn = this.getFilterFn(this.selectedFilter
|
|
46
|
-
const searchFn = this.getSearchFn(this.searchText
|
|
45
|
+
const filterFn = this.getFilterFn(this.selectedFilter());
|
|
46
|
+
const searchFn = this.getSearchFn(this.searchText());
|
|
47
47
|
return filterFn(item) && searchFn(item);
|
|
48
48
|
}
|
|
49
49
|
move(item, target) {
|
|
@@ -56,8 +56,9 @@ export class Group {
|
|
|
56
56
|
delete(item) {
|
|
57
57
|
if (!this.permissions(item).delete)
|
|
58
58
|
throw new Error("delete permission not granted");
|
|
59
|
+
const items = [...item.crawl()].map(([item]) => item);
|
|
59
60
|
item.destroy();
|
|
60
|
-
this.on.delete.pub({
|
|
61
|
+
return this.on.delete.pub({ items });
|
|
61
62
|
}
|
|
62
63
|
rename(item, newName) {
|
|
63
64
|
if (!this.permissions(item).rename)
|
|
@@ -67,7 +68,8 @@ export class Group {
|
|
|
67
68
|
upload(files, folder) {
|
|
68
69
|
if (!this.permissions(folder).upload)
|
|
69
70
|
throw new Error("upload permission not granted");
|
|
70
|
-
this.on.upload.pub({ files, target: folder })
|
|
71
|
+
return this.on.upload.pub({ files, target: folder })
|
|
72
|
+
.then(() => this.on.refresh.pub({}));
|
|
71
73
|
}
|
|
72
74
|
addFolder(parent) {
|
|
73
75
|
if (!this.permissions(parent).newFolder)
|
package/x/logic/group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../s/logic/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAA;AAKjD,MAAM,OAAO,KAAK;IAiBE;IAhBnB,KAAK,CAAe;IACpB,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACvB,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3B,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAEzB,EAAE,GAAG;QACJ,SAAS,EAAE,GAAG,EAA6B;QAC3C,IAAI,EAAE,GAAG,EAAkD;QAC3D,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../s/logic/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAA;AAKjD,MAAM,OAAO,KAAK;IAiBE;IAhBnB,KAAK,CAAe;IACpB,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACvB,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3B,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAEzB,EAAE,GAAG;QACJ,SAAS,EAAE,GAAG,EAA6B;QAC3C,IAAI,EAAE,GAAG,EAAkD;QAC3D,MAAM,EAAE,GAAG,EAA8B;QACzC,MAAM,EAAE,GAAG,EAA4C;QACvD,MAAM,EAAE,GAAG,EAA4C;QACvD,MAAM,EAAE,GAAG,EAAuB;QAClC,OAAO,EAAE,GAAG,EAAQ;KACpB,CAAA;IAED,YAAmB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QACzC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACzC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,WAAkD,CAAA;IACtE,CAAC;IAED,WAAW,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,WAAW,CAAC,UAAkB;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,KAAsB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CAAC,IAAmB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,IAAmB,EAAE,MAAqB;QAC9C,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAE/C,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEnB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,IAAmB;QACzB,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM;YAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEjD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAErD,IAAI,CAAC,OAAO,EAAE,CAAA;QAEd,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,KAAK,EAAC,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,OAAe;QAC1C,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM;YAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEjD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAqB;QAC1C,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEjD,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;aAChD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,CAAC,MAAqB;QAC9B,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS;YACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAErD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAA;IAChC,CAAC;IAED,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAA;CAClC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Group } from "../../group.js";
|
|
2
2
|
import { MediaSchema } from "./schema.js";
|
|
3
3
|
import { GroupConfig } from "../../types.js";
|
|
4
|
-
export declare class MediaGroup extends Group<MediaSchema>
|
|
4
|
+
export declare class MediaGroup extends Group<MediaSchema> {
|
|
5
5
|
static config: () => GroupConfig<MediaSchema>;
|
|
6
6
|
constructor();
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { html } from "lit";
|
|
1
2
|
import { MapG } from "@e280/stz";
|
|
2
|
-
import { html } from "@benev/slate";
|
|
3
|
-
import Quay from "../../../index.js";
|
|
4
3
|
import { Group } from "../../group.js";
|
|
4
|
+
import { Permissions } from "../../permissions.js";
|
|
5
5
|
import { Codex } from "../../aspects/codex/codex.js";
|
|
6
6
|
export class MediaGroup extends Group {
|
|
7
7
|
static config = () => {
|
|
@@ -65,7 +65,7 @@ export class MediaGroup extends Group {
|
|
|
65
65
|
// // TODO icons
|
|
66
66
|
// : html`<sl-icon name=${item.taxon.icon}></sl-icon>`
|
|
67
67
|
},
|
|
68
|
-
permissions: item =>
|
|
68
|
+
permissions: item => Permissions.all,
|
|
69
69
|
};
|
|
70
70
|
};
|
|
71
71
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../s/logic/presets/media/group.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../s/logic/presets/media/group.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { MediaGroup } from "./group.js";
|
|
2
|
+
import { Cellar } from "../../../cellar/cellar.js";
|
|
3
|
+
import { MediaFormat, MediaProgress } from "./schema.js";
|
|
4
|
+
import { CodexItem } from "../../aspects/codex/parts/codex-item.js";
|
|
5
|
+
export type MediaRecord = {
|
|
6
|
+
hash: string;
|
|
7
|
+
label: string;
|
|
8
|
+
format: MediaFormat;
|
|
9
|
+
mime: string;
|
|
10
|
+
size: number;
|
|
11
|
+
createdAt: number;
|
|
12
|
+
updatedAt: number;
|
|
13
|
+
};
|
|
14
|
+
export declare class MediaLibrary extends MediaGroup {
|
|
15
|
+
#private;
|
|
16
|
+
static open(scope?: string): Promise<MediaLibrary>;
|
|
17
|
+
progress: import("@e280/stz").Sub<[MediaProgress]>;
|
|
18
|
+
cellar: Cellar;
|
|
19
|
+
constructor();
|
|
20
|
+
scope(name: string): Promise<MediaLibrary>;
|
|
21
|
+
records(): AsyncGenerator<MediaRecord, void, unknown>;
|
|
22
|
+
include(hash: string): Promise<void>;
|
|
23
|
+
findByHash(hash: string): (CodexItem<{
|
|
24
|
+
taxon: {
|
|
25
|
+
icon: import("@e280/sly").Content;
|
|
26
|
+
};
|
|
27
|
+
specimens: {
|
|
28
|
+
folder: {
|
|
29
|
+
label: string;
|
|
30
|
+
};
|
|
31
|
+
file: {
|
|
32
|
+
label: string;
|
|
33
|
+
format: MediaFormat;
|
|
34
|
+
previewUrl: string | null;
|
|
35
|
+
hash?: string;
|
|
36
|
+
mime?: string;
|
|
37
|
+
size?: number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
}, "folder" | "file"> & CodexItem<{
|
|
41
|
+
taxon: {
|
|
42
|
+
icon: import("@e280/sly").Content;
|
|
43
|
+
};
|
|
44
|
+
specimens: {
|
|
45
|
+
folder: {
|
|
46
|
+
label: string;
|
|
47
|
+
};
|
|
48
|
+
file: {
|
|
49
|
+
label: string;
|
|
50
|
+
format: MediaFormat;
|
|
51
|
+
previewUrl: string | null;
|
|
52
|
+
hash?: string;
|
|
53
|
+
mime?: string;
|
|
54
|
+
size?: number;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
}, "file">) | undefined;
|
|
58
|
+
dispose(): void;
|
|
59
|
+
}
|