@umbraco-cms/backoffice 14.0.0--preview006-e321634a → 14.0.0--preview006-2af5bef5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist-cms/custom-elements.json +11 -0
  2. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +1 -1
  3. package/dist-cms/packages/core/data-type/components/data-type-flow-input/data-type-flow-input.element.js +1 -1
  4. package/dist-cms/packages/core/data-type/workspace/views/details/data-type-details-workspace-view.element.js +2 -3
  5. package/dist-cms/packages/documents/documents/components/input-document-root-picker/input-document-root-picker.element.js +1 -1
  6. package/dist-cms/packages/documents/documents/entity-actions/index.d.ts +1 -0
  7. package/dist-cms/packages/documents/documents/entity-actions/index.js +1 -0
  8. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +2 -13
  9. package/dist-cms/packages/documents/documents/entity-actions/permissions/permissions-modal.element.js +1 -1
  10. package/dist-cms/packages/documents/documents/entity-actions/public-access/index.d.ts +1 -0
  11. package/dist-cms/packages/documents/documents/entity-actions/public-access/index.js +1 -0
  12. package/dist-cms/packages/documents/documents/entity-actions/public-access/manifests.d.ts +2 -0
  13. package/dist-cms/packages/documents/documents/entity-actions/public-access/manifests.js +27 -0
  14. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/index.d.ts +2 -0
  15. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/index.js +2 -0
  16. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/public-access-modal.element.d.ts +24 -0
  17. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/public-access-modal.element.js +271 -0
  18. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/public-access-modal.token.d.ts +7 -0
  19. package/dist-cms/packages/documents/documents/entity-actions/public-access/modal/public-access-modal.token.js +7 -0
  20. package/dist-cms/packages/documents/documents/entity-actions/{public-access.action.d.ts → public-access/public-access.action.d.ts} +4 -3
  21. package/dist-cms/packages/documents/documents/entity-actions/public-access/public-access.action.js +28 -0
  22. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/index.d.ts +2 -0
  23. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/index.js +2 -0
  24. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/manifests.d.ts +3 -0
  25. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/manifests.js +9 -0
  26. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/public-access.repository.d.ts +21 -0
  27. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/public-access.repository.js +67 -0
  28. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/public-access.server.data.d.ts +43 -0
  29. package/dist-cms/packages/documents/documents/entity-actions/public-access/repository/public-access.server.data.js +74 -0
  30. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  31. package/dist-cms/vscode-html-custom-data.json +5 -0
  32. package/package.json +1 -1
  33. package/dist-cms/packages/documents/documents/entity-actions/public-access.action.js +0 -10
@@ -6595,6 +6595,17 @@
6595
6595
  }
6596
6596
  ]
6597
6597
  },
6598
+ {
6599
+ "name": "umb-public-access-modal",
6600
+ "path": "./../src/packages/documents/documents/entity-actions/public-access/modal/public-access-modal.element.ts",
6601
+ "properties": [
6602
+ {
6603
+ "name": "styles",
6604
+ "type": "array",
6605
+ "default": "[\"UmbTextStyles\",null]"
6606
+ }
6607
+ ]
6608
+ },
6598
6609
  {
6599
6610
  "name": "umb-property-editor-ui-document-picker",
6600
6611
  "path": "./../src/packages/documents/documents/property-editors/document-picker/property-editor-ui-document-picker.element.ts",
@@ -21,7 +21,7 @@ let UmbRefListBlockElement = class UmbRefListBlockElement extends UmbLitElement
21
21
  }
22
22
  render() {
23
23
  // href=${this._workspaceEditPath ?? '#'}
24
- return html `<uui-ref-node border .name=${this.label ?? ''}></uui-ref-node>`;
24
+ return html `<uui-ref-node standalone .name=${this.label ?? ''}></uui-ref-node>`;
25
25
  }
26
26
  };
27
27
  UmbRefListBlockElement.styles = [
@@ -79,7 +79,7 @@ let UmbInputDataTypeElement = class UmbInputDataTypeElement extends FormControlM
79
79
  // TODO: Could use something smarter for workspace modals, as I would like to avoid setting the rest of the URL here:
80
80
  __classPrivateFieldGet(this, _UmbInputDataTypeElement_editDataTypeModal, "f")?.open({}, 'edit/' + this._ids[0]);
81
81
  }}
82
- border>
82
+ standalone>
83
83
  <!-- TODO: Get the icon from property editor UI -->
84
84
  <uui-icon name="${'document'}" slot="icon"></uui-icon>
85
85
  <uui-action-bar slot="actions">
@@ -13,7 +13,7 @@ var _UmbDataTypeDetailsWorkspaceViewEditElement_instances, _UmbDataTypeDetailsWo
13
13
  import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '../../data-type-workspace.context-token.js';
14
14
  import { UmbTextStyles } from '../../../../../../shared/style/index.js';
15
15
  import { css, html, customElement, state } from '../../../../../../external/lit/index.js';
16
- import { UMB_MODAL_MANAGER_CONTEXT, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL, } from '../../../../modal/index.js';
16
+ import { UMB_MODAL_MANAGER_CONTEXT, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL } from '../../../../modal/index.js';
17
17
  import { UmbLitElement } from '../../../../../../shared/lit-element/index.js';
18
18
  let UmbDataTypeDetailsWorkspaceViewEditElement = class UmbDataTypeDetailsWorkspaceViewEditElement extends UmbLitElement {
19
19
  constructor() {
@@ -75,13 +75,12 @@ _UmbDataTypeDetailsWorkspaceViewEditElement_renderPropertyEditorReference = func
75
75
  <umb-property-layout label="Property Editor" description="Select a property editor">
76
76
  ${this._propertyEditorUiAlias && this._propertyEditorSchemaAlias
77
77
  ? html `
78
- <!-- TODO: border is a bit weird attribute name. Maybe single or standalone would be better? -->
79
78
  <umb-ref-property-editor-ui
80
79
  slot="editor"
81
80
  name=${this._propertyEditorUiName ?? ''}
82
81
  alias=${this._propertyEditorUiAlias}
83
82
  property-editor-schema-alias=${this._propertyEditorSchemaAlias}
84
- border>
83
+ standalone>
85
84
  ${this._propertyEditorUiIcon
86
85
  ? html ` <uui-icon name="${this._propertyEditorUiIcon}" slot="icon"></uui-icon> `
87
86
  : ''}
@@ -197,7 +197,7 @@ _UmbInputDocumentRootPickerElement_renderQueryStep = function _UmbInputDocumentR
197
197
  return;
198
198
  const step = __classPrivateFieldGet(this, _UmbInputDocumentRootPickerElement_instances, "m", _UmbInputDocumentRootPickerElement_getQueryStepMeta).call(this, item);
199
199
  return html `
200
- <uui-ref-node border standalone id=${step.unique} name=${step.label} detail="${ifDefined(step.description)}">
200
+ <uui-ref-node standalone id=${step.unique} name=${step.label} detail="${ifDefined(step.description)}">
201
201
  <uui-icon slot="icon" name=${step.icon}></uui-icon>
202
202
  <uui-action-bar slot="actions">
203
203
  <uui-button
@@ -1 +1,2 @@
1
+ export * from './public-access/index.js';
1
2
  export * from './culture-and-hostnames/index.js';
@@ -1 +1,2 @@
1
+ export * from './public-access/index.js';
1
2
  export * from './culture-and-hostnames/index.js';
@@ -2,16 +2,17 @@ import { UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS } from '../repository/index.js';
2
2
  import { UMB_DOCUMENT_ENTITY_TYPE, UMB_DOCUMENT_ROOT_ENTITY_TYPE } from '../entity.js';
3
3
  import { UmbPublishDocumentEntityAction } from './publish.action.js';
4
4
  import { UmbCreateDocumentBlueprintEntityAction } from './create-blueprint.action.js';
5
- import { UmbDocumentPublicAccessEntityAction } from './public-access.action.js';
6
5
  import { UmbUnpublishDocumentEntityAction } from './unpublish.action.js';
7
6
  import { UmbRollbackDocumentEntityAction } from './rollback.action.js';
8
7
  import { manifests as createManifests } from './create/manifests.js';
9
8
  import { manifests as permissionManifests } from './permissions/manifests.js';
9
+ import { manifests as publicAccessManifests } from './public-access/manifests.js';
10
10
  import { manifests as cultureAndHostnamesManifests } from './culture-and-hostnames/manifests.js';
11
11
  import { UmbCopyEntityAction, UmbMoveEntityAction, UmbSortChildrenOfEntityAction, } from '../../../core/entity-action/index.js';
12
12
  const entityActions = [
13
13
  ...createManifests,
14
14
  ...permissionManifests,
15
+ ...publicAccessManifests,
15
16
  ...cultureAndHostnamesManifests,
16
17
  {
17
18
  type: 'entityAction',
@@ -65,18 +66,6 @@ const entityActions = [
65
66
  entityTypes: [UMB_DOCUMENT_ROOT_ENTITY_TYPE, UMB_DOCUMENT_ENTITY_TYPE],
66
67
  },
67
68
  },
68
- {
69
- type: 'entityAction',
70
- alias: 'Umb.EntityAction.Document.PublicAccess',
71
- name: 'Document Permissions Entity Action',
72
- api: UmbDocumentPublicAccessEntityAction,
73
- meta: {
74
- icon: 'icon-lock',
75
- label: 'Public Access (TBD)',
76
- repositoryAlias: UMB_DOCUMENT_DETAIL_REPOSITORY_ALIAS,
77
- entityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
78
- },
79
- },
80
69
  {
81
70
  type: 'entityAction',
82
71
  alias: 'Umb.EntityAction.Document.Publish',
@@ -61,7 +61,7 @@ let UmbPermissionsModalElement = class UmbPermissionsModalElement extends UmbLit
61
61
  name=${ifDefined(userGroup.name)}
62
62
  .userPermissionAliases=${userGroup.permissions}
63
63
  @open=${() => __classPrivateFieldGet(this, _UmbPermissionsModalElement_instances, "m", _UmbPermissionsModalElement_openUserPermissionsModal).call(this, userGroup.id)}
64
- border>
64
+ standalone>
65
65
  ${userGroup.icon ? html `<uui-icon slot="icon" name=${userGroup.icon}></uui-icon>` : nothing}
66
66
  </umb-user-group-ref>`)}
67
67
  </uui-ref-list>
@@ -0,0 +1 @@
1
+ export * from './modal/index.js';
@@ -0,0 +1 @@
1
+ export * from './modal/index.js';
@@ -0,0 +1,2 @@
1
+ import type { ManifestEntityAction, ManifestModal } from '../../../../core/extension-registry/index.js';
2
+ export declare const manifests: (ManifestModal | ManifestEntityAction)[];
@@ -0,0 +1,27 @@
1
+ //import { UMB_DOCUMENT_REPOSITORY_ALIAS } from '../../repository/manifests.js';
2
+ import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
3
+ import { UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS } from './repository/manifests.js';
4
+ import { UmbDocumentPublicAccessEntityAction } from './public-access.action.js';
5
+ const entityActions = [
6
+ {
7
+ type: 'entityAction',
8
+ alias: 'Umb.EntityAction.Document.PublicAccess',
9
+ name: 'Document Permissions Entity Action',
10
+ api: UmbDocumentPublicAccessEntityAction,
11
+ meta: {
12
+ icon: 'icon-lock',
13
+ label: 'Restrict Public Access',
14
+ repositoryAlias: UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS,
15
+ entityTypes: [UMB_DOCUMENT_ENTITY_TYPE],
16
+ },
17
+ },
18
+ ];
19
+ const manifestModals = [
20
+ {
21
+ type: 'modal',
22
+ alias: 'Umb.Modal.PublicAccess',
23
+ name: 'Public Access Modal',
24
+ js: () => import('./modal/public-access-modal.element.js'),
25
+ },
26
+ ];
27
+ export const manifests = [...entityActions, ...manifestModals];
@@ -0,0 +1,2 @@
1
+ export * from './public-access-modal.token.js';
2
+ export * from './public-access-modal.element.js';
@@ -0,0 +1,2 @@
1
+ export * from './public-access-modal.token.js';
2
+ export * from './public-access-modal.element.js';
@@ -0,0 +1,24 @@
1
+ import { UmbModalBaseElement } from '../../../../../core/modal/index.js';
2
+ import { type UmbPublicAccessModalData, type UmbPublicAccessModalValue } from '../../../index.js';
3
+ export declare class UmbPublicAccessModalElement extends UmbModalBaseElement<UmbPublicAccessModalData, UmbPublicAccessModalValue> {
4
+ #private;
5
+ private _documentName;
6
+ private _specific?;
7
+ private _startPage;
8
+ private _selectedIds;
9
+ private _loginPageId?;
10
+ private _errorPageId?;
11
+ firstUpdated(): void;
12
+ render(): import("lit-html").TemplateResult<1>;
13
+ renderSelectGroup(): import("lit-html").TemplateResult<1>;
14
+ renderEditPage(): import("lit-html").TemplateResult<1>;
15
+ renderMemberType(): import("lit-html").TemplateResult<1>;
16
+ renderActions(): import("lit-html").TemplateResult<1>;
17
+ static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
18
+ }
19
+ export default UmbPublicAccessModalElement;
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ 'umb-public-access-modal': UmbPublicAccessModalElement;
23
+ }
24
+ }
@@ -0,0 +1,271 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
+ };
18
+ var _UmbPublicAccessModalElement_instances, _UmbPublicAccessModalElement_publicAccessRepository, _UmbPublicAccessModalElement_unique, _UmbPublicAccessModalElement_isNew, _UmbPublicAccessModalElement_getDocumentName, _UmbPublicAccessModalElement_getPublicAccessModel, _UmbPublicAccessModalElement_handleNext, _UmbPublicAccessModalElement_handleSave, _UmbPublicAccessModalElement_handleDelete, _UmbPublicAccessModalElement_handleCancel, _UmbPublicAccessModalElement_onChangeLoginPage, _UmbPublicAccessModalElement_onChangeErrorPage, _UmbPublicAccessModalElement_onChangeGroup, _UmbPublicAccessModalElement_onChangeMember;
19
+ import { UmbDocumentPublicAccessRepository } from '../repository/public-access.repository.js';
20
+ import { html, customElement, state, css, nothing } from '../../../../../../external/lit/index.js';
21
+ import { UmbTextStyles } from '../../../../../../shared/style/index.js';
22
+ import { UmbModalBaseElement } from '../../../../../core/modal/index.js';
23
+ import { UmbDocumentDetailRepository, } from '../../../index.js';
24
+ let UmbPublicAccessModalElement = class UmbPublicAccessModalElement extends UmbModalBaseElement {
25
+ constructor() {
26
+ super(...arguments);
27
+ _UmbPublicAccessModalElement_instances.add(this);
28
+ _UmbPublicAccessModalElement_publicAccessRepository.set(this, new UmbDocumentPublicAccessRepository(this));
29
+ _UmbPublicAccessModalElement_unique.set(this, void 0);
30
+ _UmbPublicAccessModalElement_isNew.set(this, true);
31
+ this._documentName = '';
32
+ this._startPage = true;
33
+ this._selectedIds = [];
34
+ }
35
+ // Init
36
+ firstUpdated() {
37
+ __classPrivateFieldSet(this, _UmbPublicAccessModalElement_unique, this.data?.unique, "f");
38
+ __classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_getDocumentName).call(this);
39
+ __classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_getPublicAccessModel).call(this);
40
+ }
41
+ // Renders
42
+ render() {
43
+ return html `
44
+ <umb-body-layout headline=${this.localize.term('actions_protect')}>
45
+ <uui-box>${this._startPage ? this.renderSelectGroup() : this.renderEditPage()}</uui-box> ${this.renderActions()}
46
+ </umb-body-layout>
47
+ `;
48
+ }
49
+ // First page when no Restricting Public Access is set.
50
+ renderSelectGroup() {
51
+ return html `<umb-localize key="publicAccess_paHowWould" .args=${[this._documentName]}>
52
+ Choose how you want to restrict public access to the page '${this._documentName}'.
53
+ </umb-localize>
54
+ <uui-radio-group
55
+ @change=${(e) => e.target.value === 'members' ? (this._specific = true) : (this._specific = false)}>
56
+ <uui-radio label=${this.localize.term('publicAccess_paMembers')} value="members">
57
+ <strong>${this.localize.term('publicAccess_paMembers')}</strong><br />
58
+ ${this.localize.term('publicAccess_paMembersHelp')}
59
+ </uui-radio>
60
+ <uui-radio label=${this.localize.term('publicAccess_paGroups')} value="groups">
61
+ <strong>${this.localize.term('publicAccess_paGroups')}</strong><br />
62
+ ${this.localize.term('publicAccess_paGroupsHelp')}
63
+ </uui-radio>
64
+ </uui-radio-group>`;
65
+ }
66
+ // Second page when editing Restricting Public Access
67
+ renderEditPage() {
68
+ return html `${this.renderMemberType()}
69
+ <p>
70
+ <umb-localize key="publicAccess_paSelectPages">
71
+ Select the pages that contain login form and error messages
72
+ </umb-localize>
73
+ </p>
74
+ <div class="select-item">
75
+ <strong><umb-localize key="publicAccess_paLoginPage">Login Page</umb-localize></strong>
76
+ <small>
77
+ <umb-localize key="publicAccess_paLoginPageHelp"> Choose the page that contains the login form </umb-localize>
78
+ </small>
79
+ <umb-input-document max="1" @change=${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_onChangeLoginPage)}></umb-input-document>
80
+ </div>
81
+ <br />
82
+ <div class="select-item">
83
+ <strong><umb-localize key="publicAccess_paErrorPage">Error Page</umb-localize></strong>
84
+ <small>
85
+ <umb-localize key="publicAccess_paErrorPageHelp">
86
+ Used when people are logged on, but do not have access
87
+ </umb-localize>
88
+ </small>
89
+ <umb-input-document max="1" @change=${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_onChangeErrorPage)}></umb-input-document>
90
+ </div>`;
91
+ }
92
+ renderMemberType() {
93
+ return this._specific
94
+ ? html `<umb-localize key="publicAccess_paSelectMembers" .args=${[this._documentName]}>
95
+ Select the members who have access to the page <strong>${this._documentName}</strong>
96
+ </umb-localize>
97
+ <umb-input-member .selectedIds=${this._selectedIds} @change=${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_onChangeMember)}></umb-input-member>`
98
+ : html `<umb-localize key="publicAccess_paSelectGroups" .args=${[this._documentName]}>
99
+ Select the groups who have access to the page <strong>${this._documentName}</strong>
100
+ </umb-localize>
101
+ <umb-input-member-type
102
+ .selectedIds=${this._selectedIds}
103
+ @change=${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_onChangeGroup)}></umb-input-member-type>`;
104
+ }
105
+ // Action buttons
106
+ renderActions() {
107
+ // Check for Save or Next button
108
+ const confirm = !this._startPage
109
+ ? html `<uui-button
110
+ slot="actions"
111
+ id="save"
112
+ look="primary"
113
+ color="positive"
114
+ label=${this.localize.term('buttons_save')}
115
+ ?disabled=${!this._loginPageId || !this._errorPageId || this._selectedIds.length === 0}
116
+ @click="${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_handleSave)}"></uui-button>`
117
+ : html `<uui-button
118
+ slot="actions"
119
+ id="save"
120
+ look="primary"
121
+ label=${this.localize.term('general_next')}
122
+ ?disabled=${this._specific === undefined}
123
+ @click="${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_handleNext)}"></uui-button>`;
124
+ // Check for Remove button
125
+ const remove = !__classPrivateFieldGet(this, _UmbPublicAccessModalElement_isNew, "f")
126
+ ? html `<uui-button
127
+ slot="actions"
128
+ id="save"
129
+ look="primary"
130
+ color="warning"
131
+ @click="${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_handleDelete)}"
132
+ label=${this.localize.term('publicAccess_paRemoveProtection')}></uui-button>`
133
+ : nothing;
134
+ //Render the buttons
135
+ return html ` <uui-button
136
+ slot="actions"
137
+ id="cancel"
138
+ label=${this.localize.term('buttons_confirmActionCancel')}
139
+ @click="${__classPrivateFieldGet(this, _UmbPublicAccessModalElement_instances, "m", _UmbPublicAccessModalElement_handleCancel)}"></uui-button
140
+ >${remove}${confirm}`;
141
+ }
142
+ };
143
+ _UmbPublicAccessModalElement_publicAccessRepository = new WeakMap();
144
+ _UmbPublicAccessModalElement_unique = new WeakMap();
145
+ _UmbPublicAccessModalElement_isNew = new WeakMap();
146
+ _UmbPublicAccessModalElement_instances = new WeakSet();
147
+ _UmbPublicAccessModalElement_getDocumentName = async function _UmbPublicAccessModalElement_getDocumentName() {
148
+ if (!__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"))
149
+ return;
150
+ // Should this be done here or in the action file?
151
+ const { data } = await new UmbDocumentDetailRepository(this).requestByUnique(__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"));
152
+ if (!data)
153
+ return;
154
+ //TODO How do we ensure we get the correct variant?
155
+ this._documentName = data.variants[0]?.name;
156
+ };
157
+ _UmbPublicAccessModalElement_getPublicAccessModel = async function _UmbPublicAccessModalElement_getPublicAccessModel() {
158
+ if (!__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"))
159
+ return;
160
+ //const { data } = (await this.#publicAccessRepository.read(this.#unique));
161
+ // TODO Currently returning "void". Remove mock data when API is ready. Will it be Response or Request model?
162
+ const data = undefined;
163
+ /*const data: PublicAccessResponseModel = {
164
+ members: [{ name: 'Agent', id: '007' }],
165
+ groups: [],
166
+ loginPageId: '123',
167
+ errorPageId: '456',
168
+ };*/
169
+ if (!data)
170
+ return;
171
+ __classPrivateFieldSet(this, _UmbPublicAccessModalElement_isNew, false, "f");
172
+ this._startPage = false;
173
+ // Specific or Groups
174
+ this._specific = data.members.length > 0 ? true : false;
175
+ //SelectedIds
176
+ if (data.members.length > 0) {
177
+ this._selectedIds = data.members.map((m) => m.id);
178
+ }
179
+ else if (data.groups.length > 0) {
180
+ this._selectedIds = data.groups.map((g) => g.id);
181
+ }
182
+ this._loginPageId = data.loginPageId;
183
+ this._errorPageId = data.errorPageId;
184
+ };
185
+ _UmbPublicAccessModalElement_handleNext = function _UmbPublicAccessModalElement_handleNext() {
186
+ this._startPage = false;
187
+ };
188
+ _UmbPublicAccessModalElement_handleSave = async function _UmbPublicAccessModalElement_handleSave() {
189
+ if (!this._loginPageId || !this._errorPageId || !__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"))
190
+ return;
191
+ const groups = this._specific ? [] : this._selectedIds;
192
+ const members = this._specific ? this._selectedIds : [];
193
+ const requestBody = {
194
+ memberGroupNames: groups,
195
+ memberUserNames: members,
196
+ loginDocument: { id: this._loginPageId },
197
+ errorDocument: { id: this._errorPageId },
198
+ };
199
+ if (__classPrivateFieldGet(this, _UmbPublicAccessModalElement_isNew, "f")) {
200
+ __classPrivateFieldGet(this, _UmbPublicAccessModalElement_publicAccessRepository, "f").create(__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"), requestBody);
201
+ }
202
+ else {
203
+ __classPrivateFieldGet(this, _UmbPublicAccessModalElement_publicAccessRepository, "f").update(__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"), requestBody);
204
+ }
205
+ this.modalContext?.submit();
206
+ };
207
+ _UmbPublicAccessModalElement_handleDelete = function _UmbPublicAccessModalElement_handleDelete() {
208
+ if (!__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"))
209
+ return;
210
+ __classPrivateFieldGet(this, _UmbPublicAccessModalElement_publicAccessRepository, "f").delete(__classPrivateFieldGet(this, _UmbPublicAccessModalElement_unique, "f"));
211
+ this.modalContext?.submit();
212
+ };
213
+ _UmbPublicAccessModalElement_handleCancel = function _UmbPublicAccessModalElement_handleCancel() {
214
+ this.modalContext?.reject();
215
+ };
216
+ _UmbPublicAccessModalElement_onChangeLoginPage = function _UmbPublicAccessModalElement_onChangeLoginPage(e) {
217
+ this._loginPageId = e.target.selectedIds[0];
218
+ };
219
+ _UmbPublicAccessModalElement_onChangeErrorPage = function _UmbPublicAccessModalElement_onChangeErrorPage(e) {
220
+ this._errorPageId = e.target.selectedIds[0];
221
+ };
222
+ _UmbPublicAccessModalElement_onChangeGroup = function _UmbPublicAccessModalElement_onChangeGroup(e) {
223
+ this._selectedIds = e.target.selectedIds;
224
+ };
225
+ _UmbPublicAccessModalElement_onChangeMember = function _UmbPublicAccessModalElement_onChangeMember(e) {
226
+ this._selectedIds = e.target.selectedIds;
227
+ };
228
+ UmbPublicAccessModalElement.styles = [
229
+ UmbTextStyles,
230
+ css `
231
+ uui-box,
232
+ uui-radio-group {
233
+ display: flex;
234
+ flex-direction: column;
235
+ gap: var(--uui-size-4);
236
+ }
237
+ uui-radio-group {
238
+ margin-top: var(--uui-size-4);
239
+ }
240
+
241
+ p {
242
+ margin: var(--uui-size-6) 0 var(--uui-size-2);
243
+ }
244
+ small {
245
+ display: block;
246
+ }
247
+ `,
248
+ ];
249
+ __decorate([
250
+ state()
251
+ ], UmbPublicAccessModalElement.prototype, "_documentName", void 0);
252
+ __decorate([
253
+ state()
254
+ ], UmbPublicAccessModalElement.prototype, "_specific", void 0);
255
+ __decorate([
256
+ state()
257
+ ], UmbPublicAccessModalElement.prototype, "_startPage", void 0);
258
+ __decorate([
259
+ state()
260
+ ], UmbPublicAccessModalElement.prototype, "_selectedIds", void 0);
261
+ __decorate([
262
+ state()
263
+ ], UmbPublicAccessModalElement.prototype, "_loginPageId", void 0);
264
+ __decorate([
265
+ state()
266
+ ], UmbPublicAccessModalElement.prototype, "_errorPageId", void 0);
267
+ UmbPublicAccessModalElement = __decorate([
268
+ customElement('umb-public-access-modal')
269
+ ], UmbPublicAccessModalElement);
270
+ export { UmbPublicAccessModalElement };
271
+ export default UmbPublicAccessModalElement;
@@ -0,0 +1,7 @@
1
+ import { UmbModalToken } from '../../../../../core/modal/index.js';
2
+ export interface UmbPublicAccessModalData {
3
+ unique: string;
4
+ }
5
+ export interface UmbPublicAccessModalValue {
6
+ }
7
+ export declare const UMB_PUBLIC_ACCESS_MODAL: UmbModalToken<UmbPublicAccessModalData, UmbPublicAccessModalValue>;
@@ -0,0 +1,7 @@
1
+ import { UmbModalToken } from '../../../../../core/modal/index.js';
2
+ export const UMB_PUBLIC_ACCESS_MODAL = new UmbModalToken('Umb.Modal.PublicAccess', {
3
+ modal: {
4
+ type: 'sidebar',
5
+ size: 'medium',
6
+ },
7
+ });
@@ -1,7 +1,8 @@
1
- import type { UmbDocumentDetailRepository } from '../repository/index.js';
2
- import { UmbEntityActionBase } from '../../../core/entity-action/index.js';
3
- import type { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
1
+ import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
2
+ import type { UmbDocumentDetailRepository } from '../../index.js';
3
+ import type { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
4
4
  export declare class UmbDocumentPublicAccessEntityAction extends UmbEntityActionBase<UmbDocumentDetailRepository> {
5
+ #private;
5
6
  constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string, entityType: string);
6
7
  execute(): Promise<void>;
7
8
  }
@@ -0,0 +1,28 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _UmbDocumentPublicAccessEntityAction_modalContext;
13
+ import { UMB_PUBLIC_ACCESS_MODAL } from './modal/public-access-modal.token.js';
14
+ import { UmbEntityActionBase } from '../../../../core/entity-action/index.js';
15
+ import { UMB_MODAL_MANAGER_CONTEXT } from '../../../../core/modal/index.js';
16
+ export class UmbDocumentPublicAccessEntityAction extends UmbEntityActionBase {
17
+ constructor(host, repositoryAlias, unique, entityType) {
18
+ super(host, repositoryAlias, unique, entityType);
19
+ _UmbDocumentPublicAccessEntityAction_modalContext.set(this, void 0);
20
+ this.consumeContext(UMB_MODAL_MANAGER_CONTEXT, (instance) => {
21
+ __classPrivateFieldSet(this, _UmbDocumentPublicAccessEntityAction_modalContext, instance, "f");
22
+ });
23
+ }
24
+ async execute() {
25
+ __classPrivateFieldGet(this, _UmbDocumentPublicAccessEntityAction_modalContext, "f")?.open(UMB_PUBLIC_ACCESS_MODAL, { data: { unique: this.unique } });
26
+ }
27
+ }
28
+ _UmbDocumentPublicAccessEntityAction_modalContext = new WeakMap();
@@ -0,0 +1,2 @@
1
+ export { UmbDocumentPublicAccessRepository } from './public-access.repository.js';
2
+ export { UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS } from './manifests.js';
@@ -0,0 +1,2 @@
1
+ export { UmbDocumentPublicAccessRepository } from './public-access.repository.js';
2
+ export { UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS } from './manifests.js';
@@ -0,0 +1,3 @@
1
+ import type { ManifestRepository } from '../../../../../core/extension-registry/index.js';
2
+ export declare const UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS = "Umb.Repository.Document.PublicAccess";
3
+ export declare const manifests: ManifestRepository<import("../../../../../../libs/extension-api/index.js").UmbApi>[];
@@ -0,0 +1,9 @@
1
+ import { UmbDocumentPublicAccessRepository } from './public-access.repository.js';
2
+ export const UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS = 'Umb.Repository.Document.PublicAccess';
3
+ const repository = {
4
+ type: 'repository',
5
+ alias: UMB_DOCUMENT_PUBLIC_ACCESS_REPOSITORY_ALIAS,
6
+ name: 'Document Public Access Repository',
7
+ api: UmbDocumentPublicAccessRepository,
8
+ };
9
+ export const manifests = [repository];
@@ -0,0 +1,21 @@
1
+ import type { UmbControllerHost } from '../../../../../../libs/controller-api/index.js';
2
+ import { UmbBaseController } from '../../../../../../libs/class-api/index.js';
3
+ import type { UmbApi } from '../../../../../../libs/extension-api/index.js';
4
+ import type { PublicAccessRequestModel } from '../../../../../../external/backend-api/index.js';
5
+ export declare class UmbDocumentPublicAccessRepository extends UmbBaseController implements UmbApi {
6
+ #private;
7
+ constructor(host: UmbControllerHost);
8
+ create(unique: string, data: PublicAccessRequestModel): Promise<{
9
+ error: import("../../../../../../external/backend-api/index.js").ApiError | import("../../../../../../external/backend-api/index.js").CancelError | undefined;
10
+ }>;
11
+ read(unique: string): Promise<{
12
+ data: void | undefined;
13
+ error: import("../../../../../../external/backend-api/index.js").ApiError | import("../../../../../../external/backend-api/index.js").CancelError | undefined;
14
+ }>;
15
+ update(unique: string, data: PublicAccessRequestModel): Promise<{
16
+ error: import("../../../../../../external/backend-api/index.js").ApiError | import("../../../../../../external/backend-api/index.js").CancelError | undefined;
17
+ }>;
18
+ delete(unique: string): Promise<{
19
+ error: import("../../../../../../external/backend-api/index.js").ApiError | import("../../../../../../external/backend-api/index.js").CancelError | undefined;
20
+ }>;
21
+ }