@memberjunction/ng-conversations 2.107.0 → 2.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +67 -0
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -0
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +725 -0
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -0
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts +39 -0
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -0
- package/dist/lib/components/collection/artifact-create-modal.component.js +351 -0
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -0
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +3 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +60 -10
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts +43 -0
- package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-share-modal.component.js +728 -0
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -0
- package/dist/lib/components/collection/collection-tree.component.d.ts +8 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +217 -115
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts +2 -1
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +52 -34
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +45 -9
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +586 -220
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +42 -15
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +336 -219
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +7 -1
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +65 -10
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +39 -5
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +259 -137
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +5 -1
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +26 -12
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/message/suggested-responses.component.d.ts +55 -0
- package/dist/lib/components/message/suggested-responses.component.d.ts.map +1 -0
- package/dist/lib/components/message/suggested-responses.component.js +207 -0
- package/dist/lib/components/message/suggested-responses.component.js.map +1 -0
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +245 -113
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts +29 -0
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -0
- package/dist/lib/components/shared/user-picker.component.js +229 -0
- package/dist/lib/components/shared/user-picker.component.js.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +7 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +36 -6
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +19 -2
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +167 -58
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/conversations.module.d.ts +52 -47
- package/dist/lib/conversations.module.d.ts.map +1 -1
- package/dist/lib/conversations.module.js +27 -4
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.d.ts +75 -0
- package/dist/lib/models/conversation-complete-query.model.d.ts.map +1 -0
- package/dist/lib/models/conversation-complete-query.model.js +19 -0
- package/dist/lib/models/conversation-complete-query.model.js.map +1 -0
- package/dist/lib/models/conversation-state.model.d.ts +27 -0
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
- package/dist/lib/services/agent-state.service.d.ts.map +1 -1
- package/dist/lib/services/agent-state.service.js +5 -0
- package/dist/lib/services/agent-state.service.js.map +1 -1
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-state.service.js +14 -9
- package/dist/lib/services/artifact-state.service.js.map +1 -1
- package/dist/lib/services/collection-permission.service.d.ts +96 -0
- package/dist/lib/services/collection-permission.service.d.ts.map +1 -0
- package/dist/lib/services/collection-permission.service.js +303 -0
- package/dist/lib/services/collection-permission.service.js.map +1 -0
- package/dist/lib/services/collection-state.service.d.ts +34 -0
- package/dist/lib/services/collection-state.service.d.ts.map +1 -0
- package/dist/lib/services/collection-state.service.js +50 -0
- package/dist/lib/services/collection-state.service.js.map +1 -0
- package/dist/lib/services/conversation-agent.service.d.ts +9 -4
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +41 -12
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/data-cache.service.d.ts.map +1 -1
- package/dist/lib/services/data-cache.service.js +5 -0
- package/dist/lib/services/data-cache.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +1 -1
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
- package/dist/lib/services/mention-parser.service.js +0 -5
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/dist/lib/services/search.service.d.ts +26 -3
- package/dist/lib/services/search.service.d.ts.map +1 -1
- package/dist/lib/services/search.service.js +172 -12
- package/dist/lib/services/search.service.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-share-modal.component.js","sourceRoot":"","sources":["../../../../src/lib/components/collection/collection-share-modal.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAuD,MAAM,eAAe,CAAC;AAC5H,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,EAAE,mBAAmB,EAAoB,MAAM,iCAAiC,CAAC;;;;;;;;;IA2D5C,AADJ,iCAAmC,gBAC8B;IAAtC,iXAAqC;IAA5D,iBAA6D;IAC7D,gCAA+B;IAC3B,wBAAuC;IACvC,uBACJ;IAAA,iBAAO;IACP,gCAA8B;IAAA,iCAAiB;IACnD,AADmD,iBAAO,EAClD;;;IANmB,cAAqC;IAArC,8DAAqC;;;;IAW5D,AADJ,iCAAmC,gBAC6B;IAArC,+WAAoC;IAA3D,iBAA4D;IAC5D,gCAA+B;IAC3B,wBAAyC;IACzC,sBACJ;IAAA,iBAAO;IACP,gCAA8B;IAAA,oCAAoB;IACtD,AADsD,iBAAO,EACrD;;;IANmB,cAAoC;IAApC,6DAAoC;;;;IAW3D,AADJ,iCAAmC,gBAC+B;IAAvC,mXAAsC;IAA7D,iBAA8D;IAC9D,gCAA+B;IAC3B,wBAAiC;IACjC,wBACJ;IAAA,iBAAO;IACP,gCAA8B;IAAA,iCAAiB;IACnD,AADmD,iBAAO,EAClD;;;IANmB,cAAsC;IAAtC,+DAAsC;;;;IA3CrE,AADJ,AADJ,8BAA8B,cACM,cACH;IACrB,wBAAgC;IACpC,iBAAM;IAEF,AADJ,+BAA0B,cACC;IAAA,YAAuB;IAAA,iBAAM;IACpD,+BAAwB;IAAA,YAAwB;IAExD,AADI,AADoD,iBAAM,EACpD,EACJ;IAGF,AADJ,+BAA8B,iBACkB;IACxC,6BAAiD;IACjD,iCAA+B;IAC3B,yBAA+B;IAC/B,uBACJ;IAAA,iBAAO;IACP,iCAA8B;IAAA,8CAA6B;IAC/D,AAD+D,iBAAO,EAC9D;IAwBR,AAXA,AAXA,uHAA8C,0GAWD,0GAWE;IAUnD,iBAAM;IAGF,AADJ,gCAA0B,kBACmE;IAArE,iNAAS,kBAAW,KAAC;IACrC,yBAAgC;IAChC,2BACJ;IAAA,iBAAS;IACT,mCAAuE;IAAnD,iNAAS,yBAAkB,KAAC;IAC5C,yBACJ;IAER,AADI,AADI,iBAAS,EACP,EACJ;;;IA1D6B,eAAuB;IAAvB,8CAAuB;IACtB,eAAwB;IAAxB,+CAAwB;IAMzB,eAAgB;IAAhB,8BAAgB;IAQ3C,eASC;IATD,yEASC;IAED,cASC;IATD,wEASC;IAED,cASC;IATD,0EASC;IAIyC,eAA0B;IAA1B,+CAA0B;;;IAoB5E,+BAAyB;IACrB,wBAAsC;IACtC,yBAAG;IAAA,0CAA0B;IACjC,AADiC,iBAAI,EAC/B;;;IAYkB,gCAAwB;IAAA,YAA2C;IAAA,iBAAO;;;IAAlD,cAA2C;IAA3C,uEAA2C;;;IAU/D,gCAA+B;IAC3B,wBAAuC;IAAC,uBAC5C;IAAA,iBAAO;;;IAGP,gCAA+B;IAC3B,wBAAyC;IAAC,sBAC9C;IAAA,iBAAO;;;IAGP,gCAA+B;IAC3B,wBAAiC;IAAC,wBACtC;IAAA,iBAAO;;;IAhBX,AADJ,+BAA+B,eACI;IAC3B,wBAA+B;IAAC,sBACpC;IAAA,iBAAO;IAWP,AALA,AALA,yIAA2B,4HAKD,4HAKE;IAKhC,iBAAM;;;IAfF,eAIC;IAJD,iDAIC;IACD,cAIC;IAJD,gDAIC;IACD,cAIC;IAJD,kDAIC;;;;IAUO,AADJ,iCAAyC,gBACuC;IAArD,4aAAoD;IAA3E,iBAA4E;IAC5E,4BAAM;IAAA,qBAAK;IACf,AADe,iBAAO,EACd;;;IAFmB,cAAoD;IAApD,yEAAoD;;;;IAM3E,AADJ,iCAAyC,gBACsC;IAApD,0aAAmD;IAA1E,iBAA2E;IAC3E,4BAAM;IAAA,oBAAI;IACd,AADc,iBAAO,EACb;;;IAFmB,cAAmD;IAAnD,wEAAmD;;;;IAM1E,AADJ,iCAAyC,gBACwC;IAAtD,+aAAqD;IAA5E,iBAA6E;IAC7E,4BAAM;IAAA,sBAAM;IAChB,AADgB,iBAAO,EACf;;;IAFmB,cAAqD;IAArD,0EAAqD;;;IAlBpF,AADJ,+BAAmC,gBACmB;IAC9C,4BAAiD;IACjD,4BAAM;IAAA,oBAAI;IACd,AADc,iBAAO,EACb;IAaR,AANA,AANA,0IAA8C,6HAMD,6HAME;IAMnD,iBAAM;;;IArByB,eAAgB;IAAhB,8BAAgB;IAG3C,eAKC;IALD,wEAKC;IACD,cAKC;IALD,uEAKC;IACD,cAKC;IALD,yEAKC;;;;IAQD,kCAAyF;IAApD,0SAAS,sCAA4B,KAAC;IACvE,wBAA+B;IACnC,iBAAS;IACT,kCAAwG;IAAxD,0SAAS,wCAA8B,KAAC;IACpF,wBAAiC;IACrC,iBAAS;;;;IAET,kCAAqG;IAApD,0SAAS,sCAA4B,KAAC;IACnF,wBAAiC;IACrC,iBAAS;IACT,kCAAuF;IAAlD,0SAAS,kCAAwB,KAAC;IACnE,wBAAiC;IACrC,iBAAS;;;IAdjB,+BAAgC;IAQ1B,AAPF,8HAA6B,iHAOpB;IAQb,iBAAM;;;IAfF,cAcC;IAdD,kDAcC;;;IA5ET,AADJ,+BAA6B,cACA;IACrB,wBAAgC;IACpC,iBAAM;IAGE,AADJ,AADJ,+BAAgC,cACC,eACD;IAAA,YAAyB;IAAA,iBAAO;IACxD,2HAAmC;IAGvC,iBAAM;IAuBJ,AArBF,0HAA6B,6GAqBpB;IA0Bb,iBAAM;IAEN,4HAA4B;IAmBhC,iBAAM;;;;IA1E8B,eAAyB;IAAzB,4CAAyB;IACjD,cAEC;IAFD,yDAEC;IAGL,cA8CC;IA9CD,kDA8CC;IAGL,eAkBC;IAlBD,uDAkBC;;;IAjFb,+BAA8B;IAC1B,+HAkFC;IACL,iBAAM;;;IAnFF,cAkFC;IAlFD,iCAkFC;;;;IA3LrB,uCAOC;IADG,uMAAS,iBAAU,KAAC;IAKZ,AADJ,AAFJ,8BAAiC,aAEC,YACA;IACtB,uBAAqC;IACrC,iCACJ;IAAA,iBAAK;IAEL,yCAIC;IADG,6NAAgB,6BAAsB,KAAC;IAC1C,iBAAiB;IAElB,qGAAoB;IAmExB,iBAAM;IAIF,AADJ,8BAAsC,YACR;IACtB,wBAAiC;IACjC,aACJ;IAAA,iBAAK;IAOH,AALF,uGAAgC,0FAKvB;IAwFjB,AADI,iBAAM,EACJ;IAGF,AADJ,gCAA2B,kBACkB;IAArB,kMAAS,iBAAU,KAAC;IAAC,sBAAK;IAEtD,AADI,AADkD,iBAAS,EACrD,EACK;;;IA/LX,AADA,AADA,AADA,AADA,0DAAqC,cACxB,eACC,iBACE,kBACC;IAYL,eAA2B;IAC3B,AADA,gDAA2B,+CACY;IAI3C,cAkEC;IAlED,8CAkEC;IAOG,eACJ;IADI,wEACJ;IAEA,cA2FC;IA3FD,2DA2FC;;AAYzB,MAAM,OAAO,6BAA6B;IAsB1B;IACA;IAtBH,MAAM,GAAY,KAAK,CAAC;IACxB,UAAU,GAA4B,IAAI,CAAC;IAC3C,WAAW,CAAY;IACvB,sBAAsB,GAAgC,IAAI,CAAC;IAE1D,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IACjC,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,WAAW,GAAwB,EAAE,CAAC;IACtC,YAAY,GAA4B,IAAI,CAAC;IAC7C,oBAAoB,GAAa,EAAE,CAAC;IACpC,oBAAoB,GAAY,KAAK,CAAC;IAEtC,cAAc,GAAkB;QAC5B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;KACnB,CAAC;IAEF,YACY,iBAA8C,EAC9C,GAAsB;QADtB,sBAAiB,GAAjB,iBAAiB,CAA6B;QAC9C,QAAG,GAAH,GAAG,CAAmB;IAC/B,CAAC;IAEJ,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAsB;QACpC,uEAAuE;QACvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,KAAK,KAAK,CAAC;QAC3G,MAAM,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1F,MAAM,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,aAAa,EAAE,CAAC;QAEnH,IAAI,CAAC,WAAW,IAAI,iBAAiB,IAAI,kBAAkB,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9E,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,GAAG,CAAC;YACJ,SAAS,EAAE,KAAK;YAChB,kBAAkB,EAAE;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;aACzB;SACJ,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,0BAA0B;QAC9B,oBAAoB;QACpB,8EAA8E;QAC9E,qCAAqC;QACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAE7F,8DAA8D;QAC9D,IAAI,CAAC,oBAAoB,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC;QAExF,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,IAAI;YAC7C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,KAAK;SACnB,CAAC;QAEF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;YACpC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;YACjC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO;YACjC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAClC,OAAO;YACP,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAClD,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;QAC3E,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,cAAc,CAAC,IAAsB;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG;YAClB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,KAAK;SACnB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAEnD,IAAI,CAAC;YACD,6EAA6E;YAC7E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,IAAI;gBAC7C,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;aACnB,CAAC;YAEF,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvF,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACtD,OAAO;YACX,CAAC;YAED,kEAAkE;YAClE,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAC/C,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,YAAY,CAAC,EAAE,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CAAC,EAAE,EACnB,IAAI,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,UAA6B;QAC1C,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,UAA6B;QACtC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;QAC7B,UAAU,CAAC,kBAAkB,GAAG;YAC5B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;SAClC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAA6B;QAChD,IAAI,CAAC;YACD,6EAA6E;YAC7E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,IAAI;gBAC7C,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;aACnB,CAAC;YAEF,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjG,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACtD,OAAO;YACX,CAAC;YAED,+DAA+D;YAC/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAChD,IAAI,CAAC,UAAW,CAAC,EAAE,EACnB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,kBAAkB,EAC7B,IAAI,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAA6B;QAClD,IAAI,CAAC,OAAO,CAAC,UAAU,UAAU,CAAC,QAAQ,6DAA6D,CAAC,EAAE,CAAC;YACvG,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,iEAAiE;YACjE,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAChD,IAAI,CAAC,UAAW,CAAC,EAAE,EACnB,UAAU,CAAC,MAAM,EACjB,IAAI,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;uFA7NQ,6BAA6B;6DAA7B,6BAA6B;YA1MlC,iGAA4B;;YAA5B,uDAsMC;4BAxMK,YAAY,EAAE,WAAW,mEAAE,YAAY,sBAAE,YAAY,sBAAE,mBAAmB;;iFA4M3E,6BAA6B;cA/MzC,SAAS;2BACI,2BAA2B,cACzB,IAAI,WACP,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC,YAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwMT;4FAIQ,MAAM;kBAAd,KAAK;YACG,UAAU;kBAAlB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,sBAAsB;kBAA9B,KAAK;YAEI,KAAK;kBAAd,MAAM;YACG,SAAS;kBAAlB,MAAM;;kFAPE,6BAA6B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { CollectionEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import { UserInfo } from '@memberjunction/core';
|
|
4
|
+
import { CollectionPermission, CollectionPermissionService } from '../../services/collection-permission.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
interface TreeNode {
|
|
6
7
|
collection: CollectionEntity;
|
|
@@ -9,9 +10,11 @@ interface TreeNode {
|
|
|
9
10
|
level: number;
|
|
10
11
|
}
|
|
11
12
|
export declare class CollectionTreeComponent implements OnInit {
|
|
13
|
+
private permissionService;
|
|
12
14
|
environmentId: string;
|
|
13
15
|
currentUser: UserInfo;
|
|
14
16
|
selectedCollectionId: string | null;
|
|
17
|
+
userPermissions: Map<string, CollectionPermission>;
|
|
15
18
|
collectionSelected: EventEmitter<CollectionEntity>;
|
|
16
19
|
collectionCreated: EventEmitter<CollectionEntity>;
|
|
17
20
|
collectionDeleted: EventEmitter<CollectionEntity>;
|
|
@@ -19,6 +22,7 @@ export declare class CollectionTreeComponent implements OnInit {
|
|
|
19
22
|
treeNodes: TreeNode[];
|
|
20
23
|
draggedNode: TreeNode | null;
|
|
21
24
|
dragOverNodeId: string | null;
|
|
25
|
+
constructor(permissionService: CollectionPermissionService);
|
|
22
26
|
ngOnInit(): void;
|
|
23
27
|
private loadCollections;
|
|
24
28
|
private buildTree;
|
|
@@ -35,8 +39,11 @@ export declare class CollectionTreeComponent implements OnInit {
|
|
|
35
39
|
onDragOverRoot(event: DragEvent): void;
|
|
36
40
|
onDropRoot(event: DragEvent): Promise<void>;
|
|
37
41
|
private isDescendant;
|
|
42
|
+
canEdit(collection: CollectionEntity): boolean;
|
|
43
|
+
canDelete(collection: CollectionEntity): boolean;
|
|
44
|
+
canCreateAtRoot(): boolean;
|
|
38
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<CollectionTreeComponent, never>;
|
|
39
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CollectionTreeComponent, "mj-collection-tree", never, { "environmentId": { "alias": "environmentId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "selectedCollectionId": { "alias": "selectedCollectionId"; "required": false; }; }, { "collectionSelected": "collectionSelected"; "collectionCreated": "collectionCreated"; "collectionDeleted": "collectionDeleted"; }, never, never, false, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CollectionTreeComponent, "mj-collection-tree", never, { "environmentId": { "alias": "environmentId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "selectedCollectionId": { "alias": "selectedCollectionId"; "required": false; }; "userPermissions": { "alias": "userPermissions"; "required": false; }; }, { "collectionSelected": "collectionSelected"; "collectionCreated": "collectionCreated"; "collectionDeleted": "collectionDeleted"; }, never, never, false, never>;
|
|
40
47
|
}
|
|
41
48
|
export {};
|
|
42
49
|
//# sourceMappingURL=collection-tree.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-tree.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collection-tree.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAA+B,MAAM,sBAAsB,CAAC;;
|
|
1
|
+
{"version":3,"file":"collection-tree.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collection-tree.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAA+B,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;;AAEjH,UAAU,QAAQ;IAChB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,qBAsJa,uBAAwB,YAAW,MAAM;IAexC,OAAO,CAAC,iBAAiB;IAd5B,aAAa,EAAG,MAAM,CAAC;IACvB,WAAW,EAAG,QAAQ,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAa;IAE9D,kBAAkB,iCAAwC;IAC1D,iBAAiB,iCAAwC;IACzD,iBAAiB,iCAAwC;IAE5D,WAAW,EAAE,gBAAgB,EAAE,CAAM;IACrC,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAExB,iBAAiB,EAAE,2BAA2B;IAElE,QAAQ;YAIM,eAAe;IAmB7B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IAUjB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAK9C,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAKhD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD1D,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrE,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAanD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAOjC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI;IAkBxD,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI;IAMnD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CnE,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAYhC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjD,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAW9C,SAAS,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAWhD,eAAe,IAAI,OAAO;yCAtTf,uBAAuB;2CAAvB,uBAAuB;CA0TnC"}
|
|
@@ -1,139 +1,173 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { RunView, Metadata, LogError } from '@memberjunction/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
4
|
+
import * as i1 from "../../services/collection-permission.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
5
6
|
const _forTrack0 = ($index, $item) => $item.collection.ID;
|
|
6
7
|
const _c0 = a0 => ({ node: a0 });
|
|
7
|
-
function
|
|
8
|
-
const
|
|
8
|
+
function CollectionTreeComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
10
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
11
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateCollection(null)); });
|
|
12
|
+
i0.ɵɵelement(1, "i", 7);
|
|
13
|
+
i0.ɵɵelementEnd();
|
|
14
|
+
} }
|
|
15
|
+
function CollectionTreeComponent_For_7_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
9
17
|
i0.ɵɵelementStart(0, "i", 15);
|
|
10
|
-
i0.ɵɵlistener("click", function
|
|
18
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_For_7_Conditional_2_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const node_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleNode(node_r5, $event)); });
|
|
11
19
|
i0.ɵɵelementEnd();
|
|
12
20
|
} if (rf & 2) {
|
|
13
|
-
const
|
|
14
|
-
i0.ɵɵproperty("ngClass",
|
|
21
|
+
const node_r5 = i0.ɵɵnextContext().$implicit;
|
|
22
|
+
i0.ɵɵproperty("ngClass", node_r5.expanded ? "fa-chevron-down" : "fa-chevron-right");
|
|
15
23
|
} }
|
|
16
|
-
function
|
|
24
|
+
function CollectionTreeComponent_For_7_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
26
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
27
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_For_7_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const node_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateCollection(node_r5.collection.ID)); });
|
|
28
|
+
i0.ɵɵelement(1, "i", 7);
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
} }
|
|
31
|
+
function CollectionTreeComponent_For_7_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
33
|
+
i0.ɵɵelementStart(0, "button", 17);
|
|
34
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_For_7_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const node_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDeleteCollection(node_r5.collection)); });
|
|
35
|
+
i0.ɵɵelement(1, "i", 18);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
} }
|
|
38
|
+
function CollectionTreeComponent_For_7_Conditional_9_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
39
|
i0.ɵɵelementContainer(0);
|
|
18
40
|
} }
|
|
19
|
-
function
|
|
20
|
-
i0.ɵɵtemplate(0,
|
|
41
|
+
function CollectionTreeComponent_For_7_Conditional_9_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵtemplate(0, CollectionTreeComponent_For_7_Conditional_9_For_1_ng_container_0_Template, 1, 0, "ng-container", 19);
|
|
21
43
|
} if (rf & 2) {
|
|
22
|
-
const
|
|
44
|
+
const child_r9 = ctx.$implicit;
|
|
23
45
|
i0.ɵɵnextContext(3);
|
|
24
|
-
const
|
|
25
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
46
|
+
const recursiveTree_r10 = i0.ɵɵreference(9);
|
|
47
|
+
i0.ɵɵproperty("ngTemplateOutlet", recursiveTree_r10)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, child_r9));
|
|
26
48
|
} }
|
|
27
|
-
function
|
|
28
|
-
i0.ɵɵrepeaterCreate(0,
|
|
49
|
+
function CollectionTreeComponent_For_7_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵrepeaterCreate(0, CollectionTreeComponent_For_7_Conditional_9_For_1_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
29
51
|
} if (rf & 2) {
|
|
30
|
-
const
|
|
31
|
-
i0.ɵɵrepeater(
|
|
52
|
+
const node_r5 = i0.ɵɵnextContext().$implicit;
|
|
53
|
+
i0.ɵɵrepeater(node_r5.children);
|
|
32
54
|
} }
|
|
33
|
-
function
|
|
34
|
-
const
|
|
35
|
-
i0.ɵɵelementStart(0, "div",
|
|
36
|
-
i0.ɵɵlistener("click", function
|
|
37
|
-
i0.ɵɵtemplate(2,
|
|
38
|
-
i0.ɵɵelement(3, "i",
|
|
39
|
-
i0.ɵɵelementStart(4, "span",
|
|
55
|
+
function CollectionTreeComponent_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
57
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "div", 8);
|
|
58
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_For_7_Template_div_click_1_listener() { const node_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSelectCollection(node_r5.collection)); })("dragstart", function CollectionTreeComponent_For_7_Template_div_dragstart_1_listener($event) { const node_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragStart($event, node_r5)); })("dragend", function CollectionTreeComponent_For_7_Template_div_dragend_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragEnd($event)); })("dragover", function CollectionTreeComponent_For_7_Template_div_dragover_1_listener($event) { const node_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragOver($event, node_r5)); })("dragleave", function CollectionTreeComponent_For_7_Template_div_dragleave_1_listener($event) { const node_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragLeave($event, node_r5)); })("drop", function CollectionTreeComponent_For_7_Template_div_drop_1_listener($event) { const node_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDrop($event, node_r5)); });
|
|
59
|
+
i0.ɵɵtemplate(2, CollectionTreeComponent_For_7_Conditional_2_Template, 1, 1, "i", 9);
|
|
60
|
+
i0.ɵɵelement(3, "i", 10);
|
|
61
|
+
i0.ɵɵelementStart(4, "span", 11);
|
|
40
62
|
i0.ɵɵtext(5);
|
|
41
63
|
i0.ɵɵelementEnd();
|
|
42
|
-
i0.ɵɵelementStart(6, "div",
|
|
43
|
-
i0.ɵɵlistener("click", function
|
|
44
|
-
i0.ɵɵ
|
|
45
|
-
i0.ɵɵ
|
|
46
|
-
i0.ɵɵ
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵelementStart(9, "button", 13);
|
|
49
|
-
i0.ɵɵlistener("click", function CollectionTreeComponent_For_8_Template_button_click_9_listener() { const node_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onDeleteCollection(node_r3.collection)); });
|
|
50
|
-
i0.ɵɵelement(10, "i", 14);
|
|
51
|
-
i0.ɵɵelementEnd()()();
|
|
52
|
-
i0.ɵɵtemplate(11, CollectionTreeComponent_For_8_Conditional_11_Template, 2, 0);
|
|
64
|
+
i0.ɵɵelementStart(6, "div", 12);
|
|
65
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_For_7_Template_div_click_6_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
66
|
+
i0.ɵɵtemplate(7, CollectionTreeComponent_For_7_Conditional_7_Template, 2, 0, "button", 13)(8, CollectionTreeComponent_For_7_Conditional_8_Template, 2, 0, "button", 14);
|
|
67
|
+
i0.ɵɵelementEnd()();
|
|
68
|
+
i0.ɵɵtemplate(9, CollectionTreeComponent_For_7_Conditional_9_Template, 2, 0);
|
|
53
69
|
i0.ɵɵelementEnd();
|
|
54
70
|
} if (rf & 2) {
|
|
55
|
-
const
|
|
56
|
-
const
|
|
71
|
+
const node_r5 = ctx.$implicit;
|
|
72
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
57
73
|
i0.ɵɵadvance();
|
|
58
|
-
i0.ɵɵstyleProp("padding-left",
|
|
59
|
-
i0.ɵɵclassProp("selected",
|
|
74
|
+
i0.ɵɵstyleProp("padding-left", node_r5.level * 20, "px");
|
|
75
|
+
i0.ɵɵclassProp("selected", node_r5.collection.ID === ctx_r2.selectedCollectionId)("drag-over", ctx_r2.dragOverNodeId === node_r5.collection.ID)("dragging", (ctx_r2.draggedNode == null ? null : ctx_r2.draggedNode.collection == null ? null : ctx_r2.draggedNode.collection.ID) === node_r5.collection.ID);
|
|
60
76
|
i0.ɵɵproperty("draggable", true);
|
|
61
77
|
i0.ɵɵadvance();
|
|
62
|
-
i0.ɵɵconditional(
|
|
78
|
+
i0.ɵɵconditional(node_r5.children.length > 0 ? 2 : -1);
|
|
63
79
|
i0.ɵɵadvance();
|
|
64
|
-
i0.ɵɵstyleProp("color",
|
|
80
|
+
i0.ɵɵstyleProp("color", node_r5.collection.Color || "#0076B6");
|
|
81
|
+
i0.ɵɵadvance(2);
|
|
82
|
+
i0.ɵɵtextInterpolate(node_r5.collection.Name);
|
|
65
83
|
i0.ɵɵadvance(2);
|
|
66
|
-
i0.ɵɵ
|
|
67
|
-
i0.ɵɵadvance(
|
|
68
|
-
i0.ɵɵconditional(
|
|
84
|
+
i0.ɵɵconditional(ctx_r2.canEdit(node_r5.collection) ? 7 : -1);
|
|
85
|
+
i0.ɵɵadvance();
|
|
86
|
+
i0.ɵɵconditional(ctx_r2.canDelete(node_r5.collection) ? 8 : -1);
|
|
87
|
+
i0.ɵɵadvance();
|
|
88
|
+
i0.ɵɵconditional(node_r5.expanded ? 9 : -1);
|
|
69
89
|
} }
|
|
70
|
-
function
|
|
71
|
-
const
|
|
90
|
+
function CollectionTreeComponent_ng_template_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
72
92
|
i0.ɵɵelementStart(0, "i", 15);
|
|
73
|
-
i0.ɵɵlistener("click", function
|
|
93
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_8_Conditional_2_Template_i_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleNode(node_r12, $event)); });
|
|
74
94
|
i0.ɵɵelementEnd();
|
|
75
95
|
} if (rf & 2) {
|
|
76
|
-
const
|
|
77
|
-
i0.ɵɵproperty("ngClass",
|
|
96
|
+
const node_r12 = i0.ɵɵnextContext().node;
|
|
97
|
+
i0.ɵɵproperty("ngClass", node_r12.expanded ? "fa-chevron-down" : "fa-chevron-right");
|
|
98
|
+
} }
|
|
99
|
+
function CollectionTreeComponent_ng_template_8_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
101
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
102
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_8_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateCollection(node_r12.collection.ID)); });
|
|
103
|
+
i0.ɵɵelement(1, "i", 7);
|
|
104
|
+
i0.ɵɵelementEnd();
|
|
105
|
+
} }
|
|
106
|
+
function CollectionTreeComponent_ng_template_8_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
108
|
+
i0.ɵɵelementStart(0, "button", 17);
|
|
109
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_8_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const node_r12 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDeleteCollection(node_r12.collection)); });
|
|
110
|
+
i0.ɵɵelement(1, "i", 18);
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
78
112
|
} }
|
|
79
|
-
function
|
|
113
|
+
function CollectionTreeComponent_ng_template_8_Conditional_9_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
80
114
|
i0.ɵɵelementContainer(0);
|
|
81
115
|
} }
|
|
82
|
-
function
|
|
83
|
-
i0.ɵɵtemplate(0,
|
|
116
|
+
function CollectionTreeComponent_ng_template_8_Conditional_9_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
117
|
+
i0.ɵɵtemplate(0, CollectionTreeComponent_ng_template_8_Conditional_9_For_1_ng_container_0_Template, 1, 0, "ng-container", 19);
|
|
84
118
|
} if (rf & 2) {
|
|
85
|
-
const
|
|
119
|
+
const child_r16 = ctx.$implicit;
|
|
86
120
|
i0.ɵɵnextContext(3);
|
|
87
|
-
const
|
|
88
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
121
|
+
const recursiveTree_r10 = i0.ɵɵreference(9);
|
|
122
|
+
i0.ɵɵproperty("ngTemplateOutlet", recursiveTree_r10)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, child_r16));
|
|
89
123
|
} }
|
|
90
|
-
function
|
|
91
|
-
i0.ɵɵrepeaterCreate(0,
|
|
124
|
+
function CollectionTreeComponent_ng_template_8_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
i0.ɵɵrepeaterCreate(0, CollectionTreeComponent_ng_template_8_Conditional_9_For_1_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
92
126
|
} if (rf & 2) {
|
|
93
|
-
const
|
|
94
|
-
i0.ɵɵrepeater(
|
|
127
|
+
const node_r12 = i0.ɵɵnextContext().node;
|
|
128
|
+
i0.ɵɵrepeater(node_r12.children);
|
|
95
129
|
} }
|
|
96
|
-
function
|
|
97
|
-
const
|
|
98
|
-
i0.ɵɵelementStart(0, "div",
|
|
99
|
-
i0.ɵɵlistener("click", function
|
|
100
|
-
i0.ɵɵtemplate(2,
|
|
101
|
-
i0.ɵɵelement(3, "i",
|
|
102
|
-
i0.ɵɵelementStart(4, "span",
|
|
130
|
+
function CollectionTreeComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
132
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "div", 8);
|
|
133
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_8_Template_div_click_1_listener() { const node_r12 = i0.ɵɵrestoreView(_r11).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSelectCollection(node_r12.collection)); })("dragstart", function CollectionTreeComponent_ng_template_8_Template_div_dragstart_1_listener($event) { const node_r12 = i0.ɵɵrestoreView(_r11).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragStart($event, node_r12)); })("dragend", function CollectionTreeComponent_ng_template_8_Template_div_dragend_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragEnd($event)); })("dragover", function CollectionTreeComponent_ng_template_8_Template_div_dragover_1_listener($event) { const node_r12 = i0.ɵɵrestoreView(_r11).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragOver($event, node_r12)); })("dragleave", function CollectionTreeComponent_ng_template_8_Template_div_dragleave_1_listener($event) { const node_r12 = i0.ɵɵrestoreView(_r11).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDragLeave($event, node_r12)); })("drop", function CollectionTreeComponent_ng_template_8_Template_div_drop_1_listener($event) { const node_r12 = i0.ɵɵrestoreView(_r11).node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDrop($event, node_r12)); });
|
|
134
|
+
i0.ɵɵtemplate(2, CollectionTreeComponent_ng_template_8_Conditional_2_Template, 1, 1, "i", 9);
|
|
135
|
+
i0.ɵɵelement(3, "i", 10);
|
|
136
|
+
i0.ɵɵelementStart(4, "span", 11);
|
|
103
137
|
i0.ɵɵtext(5);
|
|
104
138
|
i0.ɵɵelementEnd();
|
|
105
|
-
i0.ɵɵelementStart(6, "div",
|
|
106
|
-
i0.ɵɵlistener("click", function
|
|
107
|
-
i0.ɵɵ
|
|
108
|
-
i0.ɵɵ
|
|
109
|
-
i0.ɵɵ
|
|
110
|
-
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵelementStart(9, "button", 13);
|
|
112
|
-
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_9_Template_button_click_9_listener() { const node_r9 = i0.ɵɵrestoreView(_r8).node; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onDeleteCollection(node_r9.collection)); });
|
|
113
|
-
i0.ɵɵelement(10, "i", 14);
|
|
114
|
-
i0.ɵɵelementEnd()()();
|
|
115
|
-
i0.ɵɵtemplate(11, CollectionTreeComponent_ng_template_9_Conditional_11_Template, 2, 0);
|
|
139
|
+
i0.ɵɵelementStart(6, "div", 12);
|
|
140
|
+
i0.ɵɵlistener("click", function CollectionTreeComponent_ng_template_8_Template_div_click_6_listener($event) { i0.ɵɵrestoreView(_r11); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
141
|
+
i0.ɵɵtemplate(7, CollectionTreeComponent_ng_template_8_Conditional_7_Template, 2, 0, "button", 13)(8, CollectionTreeComponent_ng_template_8_Conditional_8_Template, 2, 0, "button", 14);
|
|
142
|
+
i0.ɵɵelementEnd()();
|
|
143
|
+
i0.ɵɵtemplate(9, CollectionTreeComponent_ng_template_8_Conditional_9_Template, 2, 0);
|
|
116
144
|
i0.ɵɵelementEnd();
|
|
117
145
|
} if (rf & 2) {
|
|
118
|
-
const
|
|
119
|
-
const
|
|
146
|
+
const node_r12 = ctx.node;
|
|
147
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
120
148
|
i0.ɵɵadvance();
|
|
121
|
-
i0.ɵɵstyleProp("padding-left",
|
|
122
|
-
i0.ɵɵclassProp("selected",
|
|
149
|
+
i0.ɵɵstyleProp("padding-left", node_r12.level * 20, "px");
|
|
150
|
+
i0.ɵɵclassProp("selected", node_r12.collection.ID === ctx_r2.selectedCollectionId)("drag-over", ctx_r2.dragOverNodeId === node_r12.collection.ID)("dragging", (ctx_r2.draggedNode == null ? null : ctx_r2.draggedNode.collection == null ? null : ctx_r2.draggedNode.collection.ID) === node_r12.collection.ID);
|
|
123
151
|
i0.ɵɵproperty("draggable", true);
|
|
124
152
|
i0.ɵɵadvance();
|
|
125
|
-
i0.ɵɵconditional(
|
|
153
|
+
i0.ɵɵconditional(node_r12.children.length > 0 ? 2 : -1);
|
|
126
154
|
i0.ɵɵadvance();
|
|
127
|
-
i0.ɵɵstyleProp("color",
|
|
155
|
+
i0.ɵɵstyleProp("color", node_r12.collection.Color || "#0076B6");
|
|
156
|
+
i0.ɵɵadvance(2);
|
|
157
|
+
i0.ɵɵtextInterpolate(node_r12.collection.Name);
|
|
128
158
|
i0.ɵɵadvance(2);
|
|
129
|
-
i0.ɵɵ
|
|
130
|
-
i0.ɵɵadvance(
|
|
131
|
-
i0.ɵɵconditional(
|
|
159
|
+
i0.ɵɵconditional(ctx_r2.canEdit(node_r12.collection) ? 7 : -1);
|
|
160
|
+
i0.ɵɵadvance();
|
|
161
|
+
i0.ɵɵconditional(ctx_r2.canDelete(node_r12.collection) ? 8 : -1);
|
|
162
|
+
i0.ɵɵadvance();
|
|
163
|
+
i0.ɵɵconditional(node_r12.expanded ? 9 : -1);
|
|
132
164
|
} }
|
|
133
165
|
export class CollectionTreeComponent {
|
|
166
|
+
permissionService;
|
|
134
167
|
environmentId;
|
|
135
168
|
currentUser;
|
|
136
169
|
selectedCollectionId = null;
|
|
170
|
+
userPermissions = new Map();
|
|
137
171
|
collectionSelected = new EventEmitter();
|
|
138
172
|
collectionCreated = new EventEmitter();
|
|
139
173
|
collectionDeleted = new EventEmitter();
|
|
@@ -141,6 +175,9 @@ export class CollectionTreeComponent {
|
|
|
141
175
|
treeNodes = [];
|
|
142
176
|
draggedNode = null;
|
|
143
177
|
dragOverNodeId = null;
|
|
178
|
+
constructor(permissionService) {
|
|
179
|
+
this.permissionService = permissionService;
|
|
180
|
+
}
|
|
144
181
|
ngOnInit() {
|
|
145
182
|
this.loadCollections();
|
|
146
183
|
}
|
|
@@ -184,6 +221,20 @@ export class CollectionTreeComponent {
|
|
|
184
221
|
this.collectionSelected.emit(collection);
|
|
185
222
|
}
|
|
186
223
|
async onCreateCollection(parentId) {
|
|
224
|
+
// Validate permission if creating child collection
|
|
225
|
+
if (parentId) {
|
|
226
|
+
const parentCollection = this.collections.find(c => c.ID === parentId);
|
|
227
|
+
if (parentCollection) {
|
|
228
|
+
// Check if user has Edit permission on parent
|
|
229
|
+
if (parentCollection.OwnerID && parentCollection.OwnerID !== this.currentUser.ID) {
|
|
230
|
+
const permission = await this.permissionService.checkPermission(parentId, this.currentUser.ID, this.currentUser);
|
|
231
|
+
if (!permission?.canEdit) {
|
|
232
|
+
alert('You do not have Edit permission to create a sub-collection.');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
187
238
|
const name = prompt('Enter collection name:');
|
|
188
239
|
if (!name)
|
|
189
240
|
return;
|
|
@@ -192,8 +243,16 @@ export class CollectionTreeComponent {
|
|
|
192
243
|
const collection = await md.GetEntityObject('MJ: Collections', this.currentUser);
|
|
193
244
|
collection.Name = name;
|
|
194
245
|
collection.EnvironmentID = this.environmentId;
|
|
195
|
-
if (parentId)
|
|
246
|
+
if (parentId) {
|
|
247
|
+
// Child collection - inherit parent's owner and set parent
|
|
248
|
+
const parentCollection = this.collections.find(c => c.ID === parentId);
|
|
196
249
|
collection.ParentID = parentId;
|
|
250
|
+
collection.OwnerID = parentCollection?.OwnerID || this.currentUser.ID;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// Root collection - current user becomes owner
|
|
254
|
+
collection.OwnerID = this.currentUser.ID;
|
|
255
|
+
}
|
|
197
256
|
const saved = await collection.Save();
|
|
198
257
|
if (saved) {
|
|
199
258
|
this.collectionCreated.emit(collection);
|
|
@@ -206,6 +265,14 @@ export class CollectionTreeComponent {
|
|
|
206
265
|
}
|
|
207
266
|
}
|
|
208
267
|
async onDeleteCollection(collection) {
|
|
268
|
+
// Validate Delete permission
|
|
269
|
+
if (collection.OwnerID && collection.OwnerID !== this.currentUser.ID) {
|
|
270
|
+
const permission = await this.permissionService.checkPermission(collection.ID, this.currentUser.ID, this.currentUser);
|
|
271
|
+
if (!permission?.canDelete) {
|
|
272
|
+
alert('You do not have Delete permission for this collection.');
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
209
276
|
if (!confirm(`Delete collection "${collection.Name}"?`))
|
|
210
277
|
return;
|
|
211
278
|
try {
|
|
@@ -341,27 +408,50 @@ export class CollectionTreeComponent {
|
|
|
341
408
|
}
|
|
342
409
|
return false;
|
|
343
410
|
}
|
|
344
|
-
|
|
345
|
-
|
|
411
|
+
// Permission checking methods
|
|
412
|
+
canEdit(collection) {
|
|
413
|
+
// Backwards compatibility: treat null OwnerID as owned by current user
|
|
414
|
+
if (!collection.OwnerID || collection.OwnerID === this.currentUser.ID) {
|
|
415
|
+
return true;
|
|
416
|
+
}
|
|
417
|
+
// Check permission record
|
|
418
|
+
const permission = this.userPermissions.get(collection.ID);
|
|
419
|
+
return permission?.canEdit || false;
|
|
420
|
+
}
|
|
421
|
+
canDelete(collection) {
|
|
422
|
+
// Backwards compatibility: treat null OwnerID as owned by current user
|
|
423
|
+
if (!collection.OwnerID || collection.OwnerID === this.currentUser.ID) {
|
|
424
|
+
return true;
|
|
425
|
+
}
|
|
426
|
+
// Check permission record
|
|
427
|
+
const permission = this.userPermissions.get(collection.ID);
|
|
428
|
+
return permission?.canDelete || false;
|
|
429
|
+
}
|
|
430
|
+
canCreateAtRoot() {
|
|
431
|
+
// Anyone can create at root level
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
static ɵfac = function CollectionTreeComponent_Factory(t) { return new (t || CollectionTreeComponent)(i0.ɵɵdirectiveInject(i1.CollectionPermissionService)); };
|
|
435
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionTreeComponent, selectors: [["mj-collection-tree"]], inputs: { environmentId: "environmentId", currentUser: "currentUser", selectedCollectionId: "selectedCollectionId", userPermissions: "userPermissions" }, outputs: { collectionSelected: "collectionSelected", collectionCreated: "collectionCreated", collectionDeleted: "collectionDeleted" }, decls: 10, vars: 3, consts: [["recursiveTree", ""], [1, "collection-tree"], [1, "tree-header"], ["title", "New Collection", 1, "btn-new"], [1, "tree-content", 3, "dragover", "drop"], [1, "tree-node-wrapper"], ["title", "New Collection", 1, "btn-new", 3, "click"], [1, "fas", "fa-plus"], [1, "tree-node", 3, "click", "dragstart", "dragend", "dragover", "dragleave", "drop", "draggable"], [1, "fas", "toggle-icon", 3, "ngClass"], [1, "fas", "fa-folder", "collection-icon"], [1, "collection-name"], [1, "node-actions", 3, "click"], ["title", "Add sub-collection", 1, "node-action-btn"], ["title", "Delete", 1, "node-action-btn"], [1, "fas", "toggle-icon", 3, "click", "ngClass"], ["title", "Add sub-collection", 1, "node-action-btn", 3, "click"], ["title", "Delete", 1, "node-action-btn", 3, "click"], [1, "fas", "fa-trash"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function CollectionTreeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
346
436
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
347
437
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h3");
|
|
348
438
|
i0.ɵɵtext(3, "Collections");
|
|
349
439
|
i0.ɵɵelementEnd();
|
|
350
|
-
i0.ɵɵ
|
|
351
|
-
i0.ɵɵ
|
|
352
|
-
i0.ɵɵ
|
|
353
|
-
i0.ɵɵ
|
|
354
|
-
i0.ɵɵ
|
|
355
|
-
i0.ɵɵlistener("dragover", function CollectionTreeComponent_Template_div_dragover_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDragOverRoot($event)); })("drop", function CollectionTreeComponent_Template_div_drop_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropRoot($event)); });
|
|
356
|
-
i0.ɵɵrepeaterCreate(7, CollectionTreeComponent_For_8_Template, 12, 14, "div", 6, _forTrack0);
|
|
440
|
+
i0.ɵɵtemplate(4, CollectionTreeComponent_Conditional_4_Template, 2, 0, "button", 3);
|
|
441
|
+
i0.ɵɵelementEnd();
|
|
442
|
+
i0.ɵɵelementStart(5, "div", 4);
|
|
443
|
+
i0.ɵɵlistener("dragover", function CollectionTreeComponent_Template_div_dragover_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDragOverRoot($event)); })("drop", function CollectionTreeComponent_Template_div_drop_5_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropRoot($event)); });
|
|
444
|
+
i0.ɵɵrepeaterCreate(6, CollectionTreeComponent_For_7_Template, 10, 16, "div", 5, _forTrack0);
|
|
357
445
|
i0.ɵɵelementEnd()();
|
|
358
|
-
i0.ɵɵtemplate(
|
|
446
|
+
i0.ɵɵtemplate(8, CollectionTreeComponent_ng_template_8_Template, 10, 16, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
359
447
|
} if (rf & 2) {
|
|
360
|
-
i0.ɵɵadvance(
|
|
448
|
+
i0.ɵɵadvance(4);
|
|
449
|
+
i0.ɵɵconditional(ctx.canCreateAtRoot() ? 4 : -1);
|
|
450
|
+
i0.ɵɵadvance();
|
|
361
451
|
i0.ɵɵclassProp("drag-over-root", ctx.dragOverNodeId === "root");
|
|
362
452
|
i0.ɵɵadvance();
|
|
363
453
|
i0.ɵɵrepeater(ctx.treeNodes);
|
|
364
|
-
} }, dependencies: [
|
|
454
|
+
} }, dependencies: [i2.NgClass, i2.NgTemplateOutlet], styles: [".collection-tree[_ngcontent-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n .tree-header[_ngcontent-%COMP%] { padding: 16px; border-bottom: 1px solid #D9D9D9; display: flex; justify-content: space-between; align-items: center; }\n .tree-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { margin: 0; font-size: 16px; }\n .btn-new[_ngcontent-%COMP%] { padding: 6px 10px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; }\n .btn-new[_ngcontent-%COMP%]:hover { background: #005A8C; }\n .tree-content[_ngcontent-%COMP%] { flex: 1; overflow-y: auto; position: relative; }\n .tree-content.drag-over-root[_ngcontent-%COMP%] { background: rgba(0, 118, 182, 0.1); }\n .tree-node[_ngcontent-%COMP%] {\n padding: 8px 12px;\n cursor: move;\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n transition: all 0.2s ease;\n border: 2px solid transparent;\n }\n .tree-node[_ngcontent-%COMP%]:hover { background: #F4F4F4; }\n .tree-node.selected[_ngcontent-%COMP%] { background: #AAE7FD; }\n .tree-node.dragging[_ngcontent-%COMP%] {\n opacity: 0.4;\n cursor: grabbing;\n }\n .tree-node.drag-over[_ngcontent-%COMP%] {\n background: rgba(0, 118, 182, 0.1);\n border: 2px dashed #0076B6;\n border-radius: 4px;\n }\n .toggle-icon[_ngcontent-%COMP%] { font-size: 10px; color: #AAA; cursor: pointer; width: 12px; }\n .collection-icon[_ngcontent-%COMP%] { font-size: 14px; }\n .collection-name[_ngcontent-%COMP%] { flex: 1; font-size: 14px; user-select: none; }\n .node-actions[_ngcontent-%COMP%] { display: none; gap: 4px; }\n .tree-node[_ngcontent-%COMP%]:hover .node-actions[_ngcontent-%COMP%] { display: flex; }\n .node-action-btn[_ngcontent-%COMP%] { padding: 4px 6px; background: transparent; border: none; cursor: pointer; border-radius: 3px; color: #666; }\n .node-action-btn[_ngcontent-%COMP%]:hover { background: rgba(0,0,0,0.1); }"] });
|
|
365
455
|
}
|
|
366
456
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionTreeComponent, [{
|
|
367
457
|
type: Component,
|
|
@@ -369,9 +459,11 @@ export class CollectionTreeComponent {
|
|
|
369
459
|
<div class="collection-tree">
|
|
370
460
|
<div class="tree-header">
|
|
371
461
|
<h3>Collections</h3>
|
|
372
|
-
|
|
373
|
-
<
|
|
374
|
-
|
|
462
|
+
@if (canCreateAtRoot()) {
|
|
463
|
+
<button class="btn-new" (click)="onCreateCollection(null)" title="New Collection">
|
|
464
|
+
<i class="fas fa-plus"></i>
|
|
465
|
+
</button>
|
|
466
|
+
}
|
|
375
467
|
</div>
|
|
376
468
|
|
|
377
469
|
<div
|
|
@@ -404,12 +496,16 @@ export class CollectionTreeComponent {
|
|
|
404
496
|
<i class="fas fa-folder collection-icon" [style.color]="node.collection.Color || '#0076B6'"></i>
|
|
405
497
|
<span class="collection-name">{{ node.collection.Name }}</span>
|
|
406
498
|
<div class="node-actions" (click)="$event.stopPropagation()">
|
|
407
|
-
|
|
408
|
-
<
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
499
|
+
@if (canEdit(node.collection)) {
|
|
500
|
+
<button class="node-action-btn" (click)="onCreateCollection(node.collection.ID)" title="Add sub-collection">
|
|
501
|
+
<i class="fas fa-plus"></i>
|
|
502
|
+
</button>
|
|
503
|
+
}
|
|
504
|
+
@if (canDelete(node.collection)) {
|
|
505
|
+
<button class="node-action-btn" (click)="onDeleteCollection(node.collection)" title="Delete">
|
|
506
|
+
<i class="fas fa-trash"></i>
|
|
507
|
+
</button>
|
|
508
|
+
}
|
|
413
509
|
</div>
|
|
414
510
|
</div>
|
|
415
511
|
|
|
@@ -448,12 +544,16 @@ export class CollectionTreeComponent {
|
|
|
448
544
|
<i class="fas fa-folder collection-icon" [style.color]="node.collection.Color || '#0076B6'"></i>
|
|
449
545
|
<span class="collection-name">{{ node.collection.Name }}</span>
|
|
450
546
|
<div class="node-actions" (click)="$event.stopPropagation()">
|
|
451
|
-
|
|
452
|
-
<
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
547
|
+
@if (canEdit(node.collection)) {
|
|
548
|
+
<button class="node-action-btn" (click)="onCreateCollection(node.collection.ID)" title="Add sub-collection">
|
|
549
|
+
<i class="fas fa-plus"></i>
|
|
550
|
+
</button>
|
|
551
|
+
}
|
|
552
|
+
@if (canDelete(node.collection)) {
|
|
553
|
+
<button class="node-action-btn" (click)="onDeleteCollection(node.collection)" title="Delete">
|
|
554
|
+
<i class="fas fa-trash"></i>
|
|
555
|
+
</button>
|
|
556
|
+
}
|
|
457
557
|
</div>
|
|
458
558
|
</div>
|
|
459
559
|
|
|
@@ -465,12 +565,14 @@ export class CollectionTreeComponent {
|
|
|
465
565
|
</div>
|
|
466
566
|
</ng-template>
|
|
467
567
|
`, styles: ["\n .collection-tree { display: flex; flex-direction: column; height: 100%; }\n .tree-header { padding: 16px; border-bottom: 1px solid #D9D9D9; display: flex; justify-content: space-between; align-items: center; }\n .tree-header h3 { margin: 0; font-size: 16px; }\n .btn-new { padding: 6px 10px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; }\n .btn-new:hover { background: #005A8C; }\n .tree-content { flex: 1; overflow-y: auto; position: relative; }\n .tree-content.drag-over-root { background: rgba(0, 118, 182, 0.1); }\n .tree-node {\n padding: 8px 12px;\n cursor: move;\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n transition: all 0.2s ease;\n border: 2px solid transparent;\n }\n .tree-node:hover { background: #F4F4F4; }\n .tree-node.selected { background: #AAE7FD; }\n .tree-node.dragging {\n opacity: 0.4;\n cursor: grabbing;\n }\n .tree-node.drag-over {\n background: rgba(0, 118, 182, 0.1);\n border: 2px dashed #0076B6;\n border-radius: 4px;\n }\n .toggle-icon { font-size: 10px; color: #AAA; cursor: pointer; width: 12px; }\n .collection-icon { font-size: 14px; }\n .collection-name { flex: 1; font-size: 14px; user-select: none; }\n .node-actions { display: none; gap: 4px; }\n .tree-node:hover .node-actions { display: flex; }\n .node-action-btn { padding: 4px 6px; background: transparent; border: none; cursor: pointer; border-radius: 3px; color: #666; }\n .node-action-btn:hover { background: rgba(0,0,0,0.1); }\n "] }]
|
|
468
|
-
}],
|
|
568
|
+
}], () => [{ type: i1.CollectionPermissionService }], { environmentId: [{
|
|
469
569
|
type: Input
|
|
470
570
|
}], currentUser: [{
|
|
471
571
|
type: Input
|
|
472
572
|
}], selectedCollectionId: [{
|
|
473
573
|
type: Input
|
|
574
|
+
}], userPermissions: [{
|
|
575
|
+
type: Input
|
|
474
576
|
}], collectionSelected: [{
|
|
475
577
|
type: Output
|
|
476
578
|
}], collectionCreated: [{
|
|
@@ -478,5 +580,5 @@ export class CollectionTreeComponent {
|
|
|
478
580
|
}], collectionDeleted: [{
|
|
479
581
|
type: Output
|
|
480
582
|
}] }); })();
|
|
481
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionTreeComponent, { className: "CollectionTreeComponent", filePath: "src/lib/components/collection/collection-tree.component.ts", lineNumber:
|
|
583
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionTreeComponent, { className: "CollectionTreeComponent", filePath: "src/lib/components/collection/collection-tree.component.ts", lineNumber: 168 }); })();
|
|
482
584
|
//# sourceMappingURL=collection-tree.component.js.map
|