@jumoo/usync 0.0.0-stage → 17.5.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/LICENCE +373 -0
- package/README.md +10 -3
- package/dist/api/client/client.gen.d.ts +2 -0
- package/dist/api/client/client.gen.js +216 -0
- package/dist/api/client/index.d.ts +10 -0
- package/dist/api/client/index.js +6 -0
- package/dist/api/client/types.gen.d.ts +120 -0
- package/dist/api/client/types.gen.js +2 -0
- package/dist/api/client/utils.gen.d.ts +37 -0
- package/dist/api/client/utils.gen.js +230 -0
- package/dist/api/client.gen.d.ts +12 -0
- package/dist/api/client.gen.js +4 -0
- package/dist/api/core/auth.gen.d.ts +25 -0
- package/dist/api/core/auth.gen.js +14 -0
- package/dist/api/core/bodySerializer.gen.d.ts +25 -0
- package/dist/api/core/bodySerializer.gen.js +57 -0
- package/dist/api/core/params.gen.d.ts +43 -0
- package/dist/api/core/params.gen.js +109 -0
- package/dist/api/core/pathSerializer.gen.d.ts +33 -0
- package/dist/api/core/pathSerializer.gen.js +106 -0
- package/dist/api/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/api/core/queryKeySerializer.gen.js +92 -0
- package/dist/api/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/api/core/serverSentEvents.gen.js +132 -0
- package/dist/api/core/types.gen.d.ts +83 -0
- package/dist/api/core/types.gen.js +2 -0
- package/dist/api/core/utils.gen.d.ts +19 -0
- package/dist/api/core/utils.gen.js +87 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +4 -0
- package/dist/api/sdk.gen.d.ts +44 -0
- package/dist/api/sdk.gen.js +147 -0
- package/dist/api/types.gen.d.ts +567 -0
- package/dist/api/types.gen.js +47 -0
- package/dist/components/events.d.ts +11 -0
- package/dist/components/events.js +11 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.js +9 -0
- package/dist/components/usync-action-box.d.ts +22 -0
- package/dist/components/usync-action-box.js +119 -0
- package/dist/components/usync-change-detail.d.ts +31 -0
- package/dist/components/usync-change-detail.js +709 -0
- package/dist/components/usync-change-view.d.ts +22 -0
- package/dist/components/usync-change-view.js +125 -0
- package/dist/components/usync-progress-box.d.ts +20 -0
- package/dist/components/usync-progress-box.js +223 -0
- package/dist/components/usync-result-row.d.ts +15 -0
- package/dist/components/usync-result-row.js +133 -0
- package/dist/components/usync-results-group-view.d.ts +19 -0
- package/dist/components/usync-results-group-view.js +110 -0
- package/dist/components/usync-results-view.d.ts +17 -0
- package/dist/components/usync-results-view.js +176 -0
- package/dist/components/usync-sync-file-info-view.d.ts +15 -0
- package/dist/components/usync-sync-file-info-view.js +62 -0
- package/dist/conditions/constants.d.ts +1 -0
- package/dist/conditions/constants.js +1 -0
- package/dist/conditions/index.d.ts +2 -0
- package/dist/conditions/index.js +2 -0
- package/dist/conditions/legacy-files.condition.d.ts +10 -0
- package/dist/conditions/legacy-files.condition.js +16 -0
- package/dist/conditions/manifest.d.ts +1 -0
- package/dist/conditions/manifest.js +18 -0
- package/dist/conditions/new-section.condition.d.ts +8 -0
- package/dist/conditions/new-section.condition.js +48 -0
- package/dist/constants.d.ts +30 -0
- package/dist/constants.js +38 -0
- package/dist/dialogs/details-modal-element.d.ts +18 -0
- package/dist/dialogs/details-modal-element.js +98 -0
- package/dist/dialogs/details-modal-token.d.ts +10 -0
- package/dist/dialogs/details-modal-token.js +7 -0
- package/dist/dialogs/error-modal-element.d.ts +7 -0
- package/dist/dialogs/error-modal-element.js +54 -0
- package/dist/dialogs/error-modal-token.d.ts +9 -0
- package/dist/dialogs/error-modal-token.js +6 -0
- package/dist/dialogs/index.d.ts +6 -0
- package/dist/dialogs/index.js +6 -0
- package/dist/dialogs/legacy-modal-element.d.ts +13 -0
- package/dist/dialogs/legacy-modal-element.js +78 -0
- package/dist/dialogs/manifest.d.ts +1 -0
- package/dist/dialogs/manifest.js +25 -0
- package/dist/dialogs/single-import-modal.element.d.ts +13 -0
- package/dist/dialogs/single-import-modal.element.js +105 -0
- package/dist/dialogs/single-import-modal.token.d.ts +9 -0
- package/dist/dialogs/single-import-modal.token.js +6 -0
- package/dist/exports.d.ts +10 -0
- package/dist/exports.js +10 -0
- package/dist/external/signalr/index.d.ts +1 -0
- package/dist/external/signalr/index.js +1 -0
- package/dist/hey-api.d.ts +11 -0
- package/dist/hey-api.js +14 -0
- package/dist/icons/icons.d.ts +5 -0
- package/dist/icons/icons.js +6 -0
- package/dist/icons/manifest.d.ts +1 -0
- package/dist/icons/manifest.js +7 -0
- package/dist/icons/svg/logo.d.ts +2 -0
- package/dist/icons/svg/logo.js +21 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +11 -0
- package/dist/lang/files/da-dk.d.ts +130 -0
- package/dist/lang/files/da-dk.js +141 -0
- package/dist/lang/files/de-de.d.ts +130 -0
- package/dist/lang/files/de-de.js +141 -0
- package/dist/lang/files/en-us.d.ts +161 -0
- package/dist/lang/files/en-us.js +172 -0
- package/dist/lang/files/es-es.d.ts +130 -0
- package/dist/lang/files/es-es.js +141 -0
- package/dist/lang/files/fr-fr.d.ts +130 -0
- package/dist/lang/files/fr-fr.js +141 -0
- package/dist/lang/files/nl-nl.d.ts +130 -0
- package/dist/lang/files/nl-nl.js +141 -0
- package/dist/lang/manifest.d.ts +1 -0
- package/dist/lang/manifest.js +63 -0
- package/dist/manifests.d.ts +1 -0
- package/dist/manifests.js +14 -0
- package/dist/repository/SyncAction.respositoy.d.ts +101 -0
- package/dist/repository/SyncAction.respositoy.js +125 -0
- package/dist/repository/index.d.ts +4 -0
- package/dist/repository/index.js +4 -0
- package/dist/repository/sources/SyncAction.source.d.ts +37 -0
- package/dist/repository/sources/SyncAction.source.js +57 -0
- package/dist/repository/sources/SyncMigration.source.d.ts +13 -0
- package/dist/repository/sources/SyncMigration.source.js +30 -0
- package/dist/repository/sources/SyncSettings.source.d.ts +23 -0
- package/dist/repository/sources/SyncSettings.source.js +33 -0
- package/dist/signalr/index.d.ts +3 -0
- package/dist/signalr/index.js +3 -0
- package/dist/signalr/signalr-reconnect-policy.d.ts +11 -0
- package/dist/signalr/signalr-reconnect-policy.js +14 -0
- package/dist/signalr/signalr.context.d.ts +34 -0
- package/dist/signalr/signalr.context.js +110 -0
- package/dist/signalr/signalr.context.token.d.ts +3 -0
- package/dist/signalr/signalr.context.token.js +2 -0
- package/dist/signalr/types.d.ts +21 -0
- package/dist/signalr/types.js +1 -0
- package/dist/tree/constants.d.ts +1 -0
- package/dist/tree/constants.js +1 -0
- package/dist/tree/index.d.ts +2 -0
- package/dist/tree/index.js +2 -0
- package/dist/tree/manifest.d.ts +1 -0
- package/dist/tree/manifest.js +92 -0
- package/dist/tree/types.d.ts +14 -0
- package/dist/tree/types.js +1 -0
- package/dist/tree/usync.menu-element.d.ts +13 -0
- package/dist/tree/usync.menu-element.js +74 -0
- package/dist/utils/diff/change-name.d.ts +13 -0
- package/dist/utils/diff/change-name.js +30 -0
- package/dist/utils/diff/classify-change.d.ts +21 -0
- package/dist/utils/diff/classify-change.js +111 -0
- package/dist/utils/diff/deep-equal.d.ts +13 -0
- package/dist/utils/diff/deep-equal.js +57 -0
- package/dist/utils/diff/format-value.d.ts +36 -0
- package/dist/utils/diff/format-value.js +88 -0
- package/dist/utils/diff/index.d.ts +7 -0
- package/dist/utils/diff/index.js +7 -0
- package/dist/utils/diff/json-diff.d.ts +34 -0
- package/dist/utils/diff/json-diff.js +300 -0
- package/dist/utils/diff/line-diff.d.ts +16 -0
- package/dist/utils/diff/line-diff.js +199 -0
- package/dist/utils/diff/types.d.ts +62 -0
- package/dist/utils/diff/types.js +12 -0
- package/dist/workspace/components/events.d.ts +31 -0
- package/dist/workspace/components/events.js +54 -0
- package/dist/workspace/components/index.d.ts +3 -0
- package/dist/workspace/components/index.js +3 -0
- package/dist/workspace/components/usync-action-button.d.ts +19 -0
- package/dist/workspace/components/usync-action-button.js +113 -0
- package/dist/workspace/components/usync-file-picker.element.d.ts +23 -0
- package/dist/workspace/components/usync-file-picker.element.js +106 -0
- package/dist/workspace/components/usync-file-upload.element.d.ts +21 -0
- package/dist/workspace/components/usync-file-upload.element.js +121 -0
- package/dist/workspace/dialogs/import-modal.element.d.ts +11 -0
- package/dist/workspace/dialogs/import-modal.element.js +75 -0
- package/dist/workspace/dialogs/import-modal.token.d.ts +6 -0
- package/dist/workspace/dialogs/import-modal.token.js +6 -0
- package/dist/workspace/dialogs/index.d.ts +2 -0
- package/dist/workspace/dialogs/index.js +2 -0
- package/dist/workspace/dialogs/manifest.d.ts +1 -0
- package/dist/workspace/dialogs/manifest.js +7 -0
- package/dist/workspace/index.d.ts +3 -0
- package/dist/workspace/index.js +3 -0
- package/dist/workspace/manifest.d.ts +3 -0
- package/dist/workspace/manifest.js +112 -0
- package/dist/workspace/types.d.ts +12 -0
- package/dist/workspace/types.js +1 -0
- package/dist/workspace/views/addons/addons.element.d.ts +7 -0
- package/dist/workspace/views/addons/addons.element.js +117 -0
- package/dist/workspace/views/default/default.element.d.ts +31 -0
- package/dist/workspace/views/default/default.element.js +466 -0
- package/dist/workspace/views/legacy/legacy.element.d.ts +14 -0
- package/dist/workspace/views/legacy/legacy.element.js +187 -0
- package/dist/workspace/views/settings/components/usyncSettingItem.element.d.ts +15 -0
- package/dist/workspace/views/settings/components/usyncSettingItem.element.js +96 -0
- package/dist/workspace/views/settings/settings.element.d.ts +17 -0
- package/dist/workspace/views/settings/settings.element.js +174 -0
- package/dist/workspace/workspace.context.d.ts +74 -0
- package/dist/workspace/workspace.context.js +448 -0
- package/dist/workspace/workspace.element.d.ts +17 -0
- package/dist/workspace/workspace.element.js +69 -0
- package/package.json +70 -6
|
@@ -0,0 +1,187 @@
|
|
|
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 _SyncLegacyFilesElement_instances, _SyncLegacyFilesElement_actionContext, _SyncLegacyFilesElement_onCopy, _SyncLegacyFilesElement_onIgnore;
|
|
19
|
+
import { css, customElement, html, nothing, state, } from '@umbraco-cms/backoffice/external/lit';
|
|
20
|
+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
|
|
21
|
+
import { UMB_CONFIRM_MODAL, UMB_MODAL_MANAGER_CONTEXT, } from '@umbraco-cms/backoffice/modal';
|
|
22
|
+
import { USYNC_CORE_CONTEXT_TOKEN, } from '@jumoo/uSync';
|
|
23
|
+
let SyncLegacyFilesElement = class SyncLegacyFilesElement extends UmbLitElement {
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
_SyncLegacyFilesElement_instances.add(this);
|
|
27
|
+
_SyncLegacyFilesElement_actionContext.set(this, void 0);
|
|
28
|
+
this.consumeContext(USYNC_CORE_CONTEXT_TOKEN, (_instance) => {
|
|
29
|
+
if (!_instance)
|
|
30
|
+
return;
|
|
31
|
+
__classPrivateFieldSet(this, _SyncLegacyFilesElement_actionContext, _instance, "f");
|
|
32
|
+
this.observe(_instance.legacy, (_legacy) => {
|
|
33
|
+
this._legacy = _legacy;
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return html `<umb-body-layout>
|
|
39
|
+
${this.renderLegacyNote()} ${this.renderActions()}
|
|
40
|
+
</umb-body-layout>`;
|
|
41
|
+
}
|
|
42
|
+
renderLegacyNote() {
|
|
43
|
+
return html ` <uui-box headline="Legacy uSync files detected">
|
|
44
|
+
<p>
|
|
45
|
+
uSync has found an old uSync folder at
|
|
46
|
+
<strong>${this._legacy?.legacyFolder ?? ''}</strong>. It is likely that the
|
|
47
|
+
content will need converting in some way.
|
|
48
|
+
</p>
|
|
49
|
+
${this.renderLegacyTypes(this._legacy?.legacyTypes)}
|
|
50
|
+
</uui-box>`;
|
|
51
|
+
}
|
|
52
|
+
renderLegacyTypes(legacyTypes) {
|
|
53
|
+
if (legacyTypes == undefined || legacyTypes.length == 0) {
|
|
54
|
+
return nothing;
|
|
55
|
+
}
|
|
56
|
+
const legacyTypeHtml = legacyTypes.map((datatype) => {
|
|
57
|
+
return html `<li>${datatype}</li>`;
|
|
58
|
+
});
|
|
59
|
+
return html `
|
|
60
|
+
<div>
|
|
61
|
+
<h3>Obsolete DataTypes</h3>
|
|
62
|
+
<p>
|
|
63
|
+
The following DataTypes - found in the legacy folder - are no longer supported
|
|
64
|
+
in Umbraco 14+ and will need to be converted.
|
|
65
|
+
</p>
|
|
66
|
+
<ul>
|
|
67
|
+
${legacyTypeHtml}
|
|
68
|
+
</ul>
|
|
69
|
+
<p>
|
|
70
|
+
You can convert these DataTypes using
|
|
71
|
+
<a href="https://github.com/Jumoo/uSyncMigrations" target="_blank"
|
|
72
|
+
>uSync.Migrations</a
|
|
73
|
+
><br />
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
76
|
+
`;
|
|
77
|
+
}
|
|
78
|
+
renderActions() {
|
|
79
|
+
return html `
|
|
80
|
+
<div class="legacy-actions">
|
|
81
|
+
<uui-box>
|
|
82
|
+
<div class="actions">
|
|
83
|
+
<uui-button
|
|
84
|
+
label="copy"
|
|
85
|
+
color="positive"
|
|
86
|
+
look="primary"
|
|
87
|
+
@click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onCopy)}
|
|
88
|
+
>Overwrite v${this._legacy?.latestVersion} folder</uui-button
|
|
89
|
+
>
|
|
90
|
+
<p>
|
|
91
|
+
Copy the contents of the legacy folder to the new
|
|
92
|
+
${this._legacy?.latestFolder} folder
|
|
93
|
+
</p>
|
|
94
|
+
</div>
|
|
95
|
+
</uui-box>
|
|
96
|
+
|
|
97
|
+
<uui-box>
|
|
98
|
+
<div class="actions">
|
|
99
|
+
<uui-button
|
|
100
|
+
label="ignore"
|
|
101
|
+
color="warning"
|
|
102
|
+
look="primary"
|
|
103
|
+
@click=${__classPrivateFieldGet(this, _SyncLegacyFilesElement_instances, "m", _SyncLegacyFilesElement_onIgnore)}
|
|
104
|
+
>Ignore legacy folder</uui-button
|
|
105
|
+
>
|
|
106
|
+
<p>Ignore the legacy folder and continue</p>
|
|
107
|
+
</div>
|
|
108
|
+
</uui-box>
|
|
109
|
+
</div>
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
_SyncLegacyFilesElement_actionContext = new WeakMap();
|
|
114
|
+
_SyncLegacyFilesElement_instances = new WeakSet();
|
|
115
|
+
_SyncLegacyFilesElement_onCopy = async function _SyncLegacyFilesElement_onCopy() {
|
|
116
|
+
const modalContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
|
|
117
|
+
const confirmContext = modalContext?.open(this, UMB_CONFIRM_MODAL, {
|
|
118
|
+
data: {
|
|
119
|
+
headline: this.localize.termOrDefault('uSync_legacyCopyTitle', 'Overwrite files', this._legacy?.latestVersion),
|
|
120
|
+
content: html `${this.localize.termOrDefault('uSync_legacyCopyContent', 'Are you sure you want to overwrite the contents of the folder with the legacy uSync folder files?', this._legacy?.latestFolder)}`,
|
|
121
|
+
color: 'danger',
|
|
122
|
+
confirmLabel: 'Copy',
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
confirmContext
|
|
126
|
+
?.onSubmit()
|
|
127
|
+
.then(async () => {
|
|
128
|
+
await __classPrivateFieldGet(this, _SyncLegacyFilesElement_actionContext, "f")?.copyLegacy();
|
|
129
|
+
window.location.reload();
|
|
130
|
+
})
|
|
131
|
+
.catch(() => {
|
|
132
|
+
console.log('copy cancelled by user');
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
_SyncLegacyFilesElement_onIgnore = async function _SyncLegacyFilesElement_onIgnore() {
|
|
136
|
+
const modalContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
|
|
137
|
+
const confirmContext = modalContext?.open(this, UMB_CONFIRM_MODAL, {
|
|
138
|
+
data: {
|
|
139
|
+
headline: this.localize.termOrDefault('uSync_legacyIgnoreTitle', 'Ignore legacy files'),
|
|
140
|
+
content: html `${this.localize.termOrDefault('uSync_legacyIgnoreContent', 'Are you sure you want to ignore the files in the legacy uSync folder?')}`,
|
|
141
|
+
color: 'danger',
|
|
142
|
+
confirmLabel: 'Ignore',
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
confirmContext
|
|
146
|
+
?.onSubmit()
|
|
147
|
+
.then(async () => {
|
|
148
|
+
await __classPrivateFieldGet(this, _SyncLegacyFilesElement_actionContext, "f")?.ignoreLegacy();
|
|
149
|
+
window.location.reload();
|
|
150
|
+
})
|
|
151
|
+
.catch(() => {
|
|
152
|
+
console.log('ignore cancelled by user');
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
SyncLegacyFilesElement.styles = css `
|
|
156
|
+
uui-box {
|
|
157
|
+
margin-bottom: var(--uui-size-3);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.legacy-actions {
|
|
161
|
+
display: flex;
|
|
162
|
+
gap: var(--uui-size-space-4);
|
|
163
|
+
justify-content: space-between;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.legacy-actions uui-box {
|
|
167
|
+
flex-basis: 50%;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.legacy-actions .actions {
|
|
171
|
+
display: flex;
|
|
172
|
+
flex-direction: column;
|
|
173
|
+
align-items: center;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
uui-button {
|
|
177
|
+
font-size: var(--uui-type-h5-size);
|
|
178
|
+
}
|
|
179
|
+
`;
|
|
180
|
+
__decorate([
|
|
181
|
+
state()
|
|
182
|
+
], SyncLegacyFilesElement.prototype, "_legacy", void 0);
|
|
183
|
+
SyncLegacyFilesElement = __decorate([
|
|
184
|
+
customElement('usync-sync-legacy-files')
|
|
185
|
+
], SyncLegacyFilesElement);
|
|
186
|
+
export { SyncLegacyFilesElement };
|
|
187
|
+
export default SyncLegacyFilesElement;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LitElement } from '@umbraco-cms/backoffice/external/lit';
|
|
2
|
+
export declare class uSyncSettingItemElement extends LitElement {
|
|
3
|
+
#private;
|
|
4
|
+
name?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
value?: Object | null | undefined;
|
|
7
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
8
|
+
static styles: import("lit").CSSResult;
|
|
9
|
+
}
|
|
10
|
+
export default uSyncSettingItemElement;
|
|
11
|
+
declare global {
|
|
12
|
+
interface HTMLElementTagNameMap {
|
|
13
|
+
'usync-setting-item': uSyncSettingItemElement;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
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 __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 _uSyncSettingItemElement_instances, _uSyncSettingItemElement_renderValue;
|
|
13
|
+
import { LitElement, classMap, css, customElement, html, property, } from '@umbraco-cms/backoffice/external/lit';
|
|
14
|
+
let uSyncSettingItemElement = class uSyncSettingItemElement extends LitElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
_uSyncSettingItemElement_instances.add(this);
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return html `
|
|
21
|
+
<div class="usync-setting-value">
|
|
22
|
+
<div class="info">
|
|
23
|
+
<h5>${this.name}</h5>
|
|
24
|
+
<div>${this.description}</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="value">${__classPrivateFieldGet(this, _uSyncSettingItemElement_instances, "m", _uSyncSettingItemElement_renderValue).call(this)}</div>
|
|
27
|
+
</div>
|
|
28
|
+
`;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
_uSyncSettingItemElement_instances = new WeakSet();
|
|
32
|
+
_uSyncSettingItemElement_renderValue = function _uSyncSettingItemElement_renderValue() {
|
|
33
|
+
if (this.value === undefined || this.value === null) {
|
|
34
|
+
return html `(Not Set)`;
|
|
35
|
+
}
|
|
36
|
+
if (typeof this.value == 'boolean') {
|
|
37
|
+
const classes = { _set: this.value };
|
|
38
|
+
return html `
|
|
39
|
+
<uui-icon
|
|
40
|
+
name=${this.value ? 'icon-check' : 'icon-wrong'}
|
|
41
|
+
class=${classMap(classes)}></uui-icon>
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
if (Array.isArray(this.value)) {
|
|
46
|
+
const list = this.value.map((v) => {
|
|
47
|
+
return html `<li>${v}</li>`;
|
|
48
|
+
});
|
|
49
|
+
return html `<ul>
|
|
50
|
+
${list}
|
|
51
|
+
</ul>`;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return html ` <div>${this.value}</div> `;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
uSyncSettingItemElement.styles = css `
|
|
59
|
+
.usync-setting-value {
|
|
60
|
+
display: flex;
|
|
61
|
+
justify-content: space-between;
|
|
62
|
+
padding: var(--uui-size-space-2) 0;
|
|
63
|
+
border-bottom: 1px solid var(--uui-color-divider);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.usync-setting-value h5 {
|
|
67
|
+
margin: 0;
|
|
68
|
+
padding: 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
uui-icon {
|
|
72
|
+
color: var(--uui-color-danger);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
uui-icon._set {
|
|
76
|
+
color: var(--uui-color-positive);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
ul {
|
|
80
|
+
list-style: none;
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
__decorate([
|
|
84
|
+
property({ type: String })
|
|
85
|
+
], uSyncSettingItemElement.prototype, "name", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
property({ type: String })
|
|
88
|
+
], uSyncSettingItemElement.prototype, "description", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
property()
|
|
91
|
+
], uSyncSettingItemElement.prototype, "value", void 0);
|
|
92
|
+
uSyncSettingItemElement = __decorate([
|
|
93
|
+
customElement('usync-setting-item')
|
|
94
|
+
], uSyncSettingItemElement);
|
|
95
|
+
export { uSyncSettingItemElement };
|
|
96
|
+
export default uSyncSettingItemElement;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LitElement } from '@umbraco-cms/backoffice/external/lit';
|
|
2
|
+
import { USyncHandlerSetSettings, USyncSettings } from '@jumoo/uSync';
|
|
3
|
+
export * from './components/usyncSettingItem.element.js';
|
|
4
|
+
declare const USyncSettingsViewElement_base: import("@umbraco-cms/backoffice/extension-api").HTMLElementConstructor<import("@umbraco-cms/backoffice/element-api").UmbElement> & typeof LitElement;
|
|
5
|
+
export declare class USyncSettingsViewElement extends USyncSettingsViewElement_base {
|
|
6
|
+
settings?: USyncSettings;
|
|
7
|
+
handlerSettings?: USyncHandlerSetSettings;
|
|
8
|
+
constructor();
|
|
9
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
10
|
+
static styles: import("lit").CSSResult;
|
|
11
|
+
}
|
|
12
|
+
export default USyncSettingsViewElement;
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'usync-settings-view': USyncSettingsViewElement;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
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
|
+
import { UmbElementMixin } from '@umbraco-cms/backoffice/element-api';
|
|
8
|
+
import { LitElement, css, customElement, html, state, when, } from '@umbraco-cms/backoffice/external/lit';
|
|
9
|
+
import { USYNC_CORE_CONTEXT_TOKEN, } from '@jumoo/uSync';
|
|
10
|
+
export * from './components/usyncSettingItem.element.js';
|
|
11
|
+
let USyncSettingsViewElement = class USyncSettingsViewElement extends UmbElementMixin(LitElement) {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.consumeContext(USYNC_CORE_CONTEXT_TOKEN, (_instance) => {
|
|
15
|
+
if (!_instance)
|
|
16
|
+
return;
|
|
17
|
+
this.observe(_instance.settings, (_settings) => {
|
|
18
|
+
if (!_settings)
|
|
19
|
+
return;
|
|
20
|
+
this.settings = _settings;
|
|
21
|
+
_instance.getDefaultHandlerSetSettings(this.settings.defaultSet ?? 'Default');
|
|
22
|
+
});
|
|
23
|
+
this.observe(_instance.handlerSettings, (_handlerSettings) => {
|
|
24
|
+
if (!_handlerSettings)
|
|
25
|
+
return;
|
|
26
|
+
this.handlerSettings = _handlerSettings;
|
|
27
|
+
});
|
|
28
|
+
_instance.getSettings();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return html `
|
|
33
|
+
<umb-body-layout>
|
|
34
|
+
<div class="usync-settings-layout">
|
|
35
|
+
<div>
|
|
36
|
+
<uui-box headline=${this.localize.termOrDefault('USyncSettings_settings', 'uSync Settings')}>
|
|
37
|
+
<usync-setting-item
|
|
38
|
+
.name=${this.localize.termOrDefault('USyncSettings_processingMode', 'Processing Mode')}
|
|
39
|
+
.description=${this.localize.termOrDefault('USyncSettings_processingModeDesc', 'How the uSync process runs, either in the background or interactively (Normal)')}
|
|
40
|
+
.value=${this.settings?.processingMode}></usync-setting-item>
|
|
41
|
+
<usync-setting-item
|
|
42
|
+
.name=${this.localize.termOrDefault('USyncSettings_importAtStartup', 'Import at startup')}
|
|
43
|
+
.description=${this.localize.termOrDefault('USyncSettings_importAtStartupDesc', 'Run an import of files from the disk when Umbraco starts')}
|
|
44
|
+
.value=${this.settings?.importAtStartup}></usync-setting-item>
|
|
45
|
+
<usync-setting-item
|
|
46
|
+
.name=${this.localize.termOrDefault('USyncSettings_exportAtStartup', 'Export at startup')}
|
|
47
|
+
.description=${this.localize.termOrDefault('USyncSettings_exportAtStartupDesc', 'Export the Umbraco settings when the site starts up')}
|
|
48
|
+
.value=${this.settings?.exportAtStartup}></usync-setting-item>
|
|
49
|
+
|
|
50
|
+
<usync-setting-item
|
|
51
|
+
.name=${this.localize.termOrDefault('USyncSettings_exportOnSave', 'Export on save')}
|
|
52
|
+
.description=${this.localize.termOrDefault('USyncSettings_exportOnSaveDesc', 'Generate uSync files when items are saved')}
|
|
53
|
+
.value=${this.settings?.exportOnSave}></usync-setting-item>
|
|
54
|
+
|
|
55
|
+
<usync-setting-item
|
|
56
|
+
.name=${this.localize.termOrDefault('USyncSettings_uiEnabledGroups', 'UI Enabled groups')}
|
|
57
|
+
.description=${this.localize.termOrDefault('USyncSettings_uiEnabledGroupsDesc', 'Handler groups that can be seen/used on the dashboard')}
|
|
58
|
+
.value=${this.settings?.uiEnabledGroups}></usync-setting-item>
|
|
59
|
+
|
|
60
|
+
<usync-setting-item
|
|
61
|
+
.name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
|
|
62
|
+
.description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
|
|
63
|
+
.value=${this.settings?.failOnMissingParent}></usync-setting-item>
|
|
64
|
+
</uui-box>
|
|
65
|
+
|
|
66
|
+
<uui-box headline=${this.localize.termOrDefault('USyncSettings_filesAndFolders', 'File and folders')}>
|
|
67
|
+
<usync-setting-item
|
|
68
|
+
.name=${this.localize.termOrDefault('USyncSettings_rootSite', 'Root Site')}
|
|
69
|
+
.description=${this.localize.termOrDefault('USyncSettings_rootSiteDesc', 'Is this site a root for other sites.')}
|
|
70
|
+
.value=${this.settings?.isRootSite}></usync-setting-item>
|
|
71
|
+
|
|
72
|
+
<usync-setting-item
|
|
73
|
+
.name=${this.localize.termOrDefault('USyncSettings_rootLocked', 'Root Locked')}
|
|
74
|
+
.description=${this.localize.termOrDefault('USyncSettings_rootLockedDesc', 'Are changes for items that are from the root site locked?')}
|
|
75
|
+
.value=${this.settings?.lockRoot}></usync-setting-item>
|
|
76
|
+
|
|
77
|
+
<usync-setting-item
|
|
78
|
+
.name=${this.localize.termOrDefault('USyncSettings_folders', 'Folders')}
|
|
79
|
+
.description=${this.localize.termOrDefault('USyncSettings_foldersDesc', 'Folders uSync will look for files, (items are normally saved into last folder in the list)')}
|
|
80
|
+
.value=${this.settings?.folders}></usync-setting-item>
|
|
81
|
+
</uui-box>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<div>
|
|
85
|
+
<uui-box headline=${this.localize.termOrDefault('USyncSettings_handlerDefaults', 'Handler defaults')}>
|
|
86
|
+
<usync-setting-item
|
|
87
|
+
.name=${this.localize.termOrDefault('USyncSettings_handlerSet', 'Default handler set')}
|
|
88
|
+
.description=${this.localize.termOrDefault('USyncSettings_handlerSetDesc', 'The default handler set to use for the site')}
|
|
89
|
+
.value=${this.settings?.defaultSet}></usync-setting-item>
|
|
90
|
+
|
|
91
|
+
<usync-setting-item
|
|
92
|
+
.name=${this.localize.termOrDefault('USyncSettings_flatStructure', 'Flat structure')}
|
|
93
|
+
.description=${this.localize.termOrDefault('USyncSettings_flatStructureDesc', 'All items of a type are stored in a flat folder structure')}
|
|
94
|
+
.value=${this.handlerSettings?.handlerDefaults
|
|
95
|
+
?.useFlatStructure}></usync-setting-item>
|
|
96
|
+
|
|
97
|
+
<usync-setting-item
|
|
98
|
+
.name=${this.localize.termOrDefault('USyncSettings_guidNames', 'Use guids for filenames')}
|
|
99
|
+
.description=${this.localize.termOrDefault('USyncSettings_guidNamesDesc', 'Use the GUID of an item as the filename')}
|
|
100
|
+
.value=${this.handlerSettings?.handlerDefaults
|
|
101
|
+
?.guidNames}></usync-setting-item>
|
|
102
|
+
|
|
103
|
+
<usync-setting-item
|
|
104
|
+
.name=${this.localize.termOrDefault('USyncSettings_handlerGroups', 'Handler groups')}
|
|
105
|
+
.description=${this.localize.termOrDefault('USyncSettings_handlerGroupsDesc', 'Groups to limit handler set to')}
|
|
106
|
+
.value=${this.handlerSettings?.handlerDefaults
|
|
107
|
+
?.group}></usync-setting-item>
|
|
108
|
+
|
|
109
|
+
<usync-setting-item
|
|
110
|
+
.name=${this.localize.termOrDefault('USyncSettings_failOnMissingParent', 'Fail on missing parent')}
|
|
111
|
+
.description=${this.localize.termOrDefault('USyncSettings_failOnMissingParentDesc', 'Fail on missing parent')}
|
|
112
|
+
.value=${this.handlerSettings?.handlerDefaults
|
|
113
|
+
?.failOnMissingParent}></usync-setting-item>
|
|
114
|
+
|
|
115
|
+
<usync-setting-item
|
|
116
|
+
.name=${this.localize.termOrDefault('USyncSettings_disabledHandlers', 'Disabled Handlers')}
|
|
117
|
+
.description=${this.localize.termOrDefault('USyncSettings_disabledHandlersDesc', 'Handlers explicitly disabled for this handler set')}
|
|
118
|
+
.value=${this.handlerSettings?.disabledHandlers}></usync-setting-item>
|
|
119
|
+
</uui-box>
|
|
120
|
+
<uui-box headline=${this.localize.termOrDefault('USyncSettings_bootSettings', 'First boot settings')}>
|
|
121
|
+
<usync-setting-item
|
|
122
|
+
.name=${this.localize.termOrDefault('USyncSettings_firstBoot', 'Import on First boot')}
|
|
123
|
+
.description=${this.localize.termOrDefault('USyncSettings_firstBootDesc', 'Run the import process on first boot of the site')}
|
|
124
|
+
.value=${this.settings?.importOnFirstBoot}></usync-setting-item>
|
|
125
|
+
${when(this.settings?.importOnFirstBoot, () => html ` <usync-setting-item
|
|
126
|
+
.name=${this.localize.termOrDefault('USyncSettings_firstBootGroup', 'First boot groups')}
|
|
127
|
+
.description=${this.localize.termOrDefault('USyncSettings_firstBootGroupDesc', 'The groups to run on first boot')}
|
|
128
|
+
.value=${this.settings?.firstBootGroup}></usync-setting-item>`)}
|
|
129
|
+
</uui-box>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="setting-link">
|
|
133
|
+
<umb-localize key="USyncSettings_help"></umb-localize>
|
|
134
|
+
</div>
|
|
135
|
+
</umb-body-layout>
|
|
136
|
+
`;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
USyncSettingsViewElement.styles = css `
|
|
140
|
+
:host {
|
|
141
|
+
display: block;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.usync-settings-layout {
|
|
145
|
+
display: grid;
|
|
146
|
+
grid-template-columns: 5fr 5fr;
|
|
147
|
+
grid-template-rows: auto auto;
|
|
148
|
+
gap: var(--uui-size-space-5);
|
|
149
|
+
row-gap: var(--uui-size-space-5);
|
|
150
|
+
grid-auto-flow: row;
|
|
151
|
+
grid-template-areas: 'settings info', 'handler info';
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.usync-settings-layout > div {
|
|
155
|
+
display: flex;
|
|
156
|
+
flex-direction: column;
|
|
157
|
+
gap: var(--uui-size-space-6);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.setting-link {
|
|
161
|
+
text-align: center;
|
|
162
|
+
}
|
|
163
|
+
`;
|
|
164
|
+
__decorate([
|
|
165
|
+
state()
|
|
166
|
+
], USyncSettingsViewElement.prototype, "settings", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
state()
|
|
169
|
+
], USyncSettingsViewElement.prototype, "handlerSettings", void 0);
|
|
170
|
+
USyncSettingsViewElement = __decorate([
|
|
171
|
+
customElement('usync-settings-view')
|
|
172
|
+
], USyncSettingsViewElement);
|
|
173
|
+
export { USyncSettingsViewElement };
|
|
174
|
+
export default USyncSettingsViewElement;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
|
2
|
+
import { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
|
3
|
+
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
|
|
4
|
+
import { SyncActionGroup, SyncHandlerSummary, SyncLegacyCheckResponse, USyncActionView, USyncHandlerSetSettings, USyncSettings, SyncPerformActionOptions, SyncSelectableSet, SyncFileVersionCheckResult } from '@jumoo/uSync';
|
|
5
|
+
import { UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace';
|
|
6
|
+
/**
|
|
7
|
+
* Context for getting and seting up actions.
|
|
8
|
+
*/
|
|
9
|
+
export declare class uSyncWorkspaceContext extends UmbControllerBase implements UmbWorkspaceContext {
|
|
10
|
+
#private;
|
|
11
|
+
readonly workspaceAlias: string;
|
|
12
|
+
getEntityType(): string;
|
|
13
|
+
readonly actions: import("rxjs").Observable<SyncActionGroup[]>;
|
|
14
|
+
private _currentSetName;
|
|
15
|
+
readonly workingGroup: import("rxjs").Observable<SyncActionGroup | undefined>;
|
|
16
|
+
readonly currentAction: import("rxjs").Observable<SyncHandlerSummary[]>;
|
|
17
|
+
readonly working: import("rxjs").Observable<boolean>;
|
|
18
|
+
readonly inBackground: import("rxjs").Observable<boolean>;
|
|
19
|
+
readonly completed: import("rxjs").Observable<boolean>;
|
|
20
|
+
readonly results: import("rxjs").Observable<USyncActionView[]>;
|
|
21
|
+
readonly settings: import("rxjs").Observable<USyncSettings | undefined>;
|
|
22
|
+
readonly handlerSettings: import("rxjs").Observable<USyncHandlerSetSettings | undefined>;
|
|
23
|
+
readonly sets: import("rxjs").Observable<SyncSelectableSet[]>;
|
|
24
|
+
readonly legacy: import("rxjs").Observable<SyncLegacyCheckResponse | undefined>;
|
|
25
|
+
readonly syncFileInfo: import("rxjs").Observable<SyncFileVersionCheckResult | undefined>;
|
|
26
|
+
constructor(host: UmbControllerHost);
|
|
27
|
+
hostDisconnected(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Return the current actions from the repository
|
|
30
|
+
*/
|
|
31
|
+
getActions(setName: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Get the current uSync settings
|
|
34
|
+
*/
|
|
35
|
+
getSettings(): Promise<USyncSettings | undefined>;
|
|
36
|
+
getAddons(): Promise<import("@jumoo/uSync").USyncAddonInfo>;
|
|
37
|
+
getSyncFileInfo(): Promise<SyncFileVersionCheckResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Check to see if there is a legacy uSync folder on disk.
|
|
40
|
+
*/
|
|
41
|
+
checkLegacy(): Promise<SyncLegacyCheckResponse | undefined>;
|
|
42
|
+
ignoreLegacy(): Promise<boolean>;
|
|
43
|
+
copyLegacy(): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Get handler defaults.
|
|
46
|
+
*/
|
|
47
|
+
getDefaultHandlerSetSettings(setName: string): Promise<void>;
|
|
48
|
+
getHandlerSets(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Perform an action (e.g import, export, etc) with options
|
|
51
|
+
* @param options options for the action
|
|
52
|
+
*/
|
|
53
|
+
performAction(options: SyncPerformActionOptions): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Manually clear a stuck "running in background" state - a workaround for
|
|
56
|
+
* when the server that was running the sync crashed or restarted and this
|
|
57
|
+
* client is left showing it as still active. This only resets what THIS
|
|
58
|
+
* client shows; it does not (and cannot - Umbraco's long-running-operation
|
|
59
|
+
* service has no cancel API) force the server-side operation to end. If
|
|
60
|
+
* the run really is still active elsewhere, starting a new one will still
|
|
61
|
+
* be rejected until the server-side run actually finishes or its
|
|
62
|
+
* expiration window passes (a few minutes by default).
|
|
63
|
+
*/
|
|
64
|
+
dismissBackgroundRun(): void;
|
|
65
|
+
uploadFile(): Promise<boolean | undefined>;
|
|
66
|
+
downloadFile(): Promise<void>;
|
|
67
|
+
importSingle(item: USyncActionView): Promise<import("@umbraco-cms/backoffice/resources").UmbApiResponse<{
|
|
68
|
+
data: USyncActionView;
|
|
69
|
+
request: Request;
|
|
70
|
+
response: Response;
|
|
71
|
+
}> | undefined>;
|
|
72
|
+
}
|
|
73
|
+
export default uSyncWorkspaceContext;
|
|
74
|
+
export declare const USYNC_CORE_CONTEXT_TOKEN: UmbContextToken<uSyncWorkspaceContext, uSyncWorkspaceContext>;
|