@jumoo/usync 18.2.0 → 18.3.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 +372 -372
- package/README.md +16 -10
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.js +1 -1
- package/dist/api/sdk.gen.d.ts +2 -1
- package/dist/api/sdk.gen.js +5 -0
- package/dist/api/types.gen.d.ts +37 -0
- package/dist/components/usync-action-box.js +71 -71
- package/dist/components/usync-change-detail.js +409 -409
- package/dist/components/usync-change-view.js +49 -49
- package/dist/components/usync-content-preview.d.ts +27 -0
- package/dist/components/usync-content-preview.js +532 -0
- package/dist/components/usync-content-type-preview.d.ts +25 -0
- package/dist/components/usync-content-type-preview.js +530 -0
- package/dist/components/usync-data-type-preview.d.ts +21 -0
- package/dist/components/usync-data-type-preview.js +295 -0
- package/dist/components/usync-progress-box.js +113 -113
- package/dist/components/usync-result-row.js +65 -65
- package/dist/components/usync-results-group-view.js +63 -63
- package/dist/components/usync-results-view.js +77 -69
- package/dist/components/usync-sync-file-info-view.js +10 -10
- package/dist/constants.js +1 -1
- package/dist/dialogs/details-modal-element.d.ts +15 -0
- package/dist/dialogs/details-modal-element.js +260 -50
- package/dist/dialogs/details-modal-token.d.ts +10 -1
- package/dist/dialogs/error-modal-element.js +22 -22
- package/dist/dialogs/legacy-modal-element.js +22 -22
- package/dist/dialogs/single-import-modal.element.js +31 -31
- package/dist/exports.d.ts +1 -0
- package/dist/exports.js +1 -0
- package/dist/icons/svg/logo.js +20 -20
- package/dist/lang/files/da-dk.d.ts +37 -0
- package/dist/lang/files/da-dk.js +49 -12
- package/dist/lang/files/de-de.d.ts +37 -0
- package/dist/lang/files/de-de.js +49 -12
- package/dist/lang/files/en-us.d.ts +50 -0
- package/dist/lang/files/en-us.js +62 -12
- package/dist/lang/files/es-es.d.ts +37 -0
- package/dist/lang/files/es-es.js +49 -12
- package/dist/lang/files/fr-fr.d.ts +37 -0
- package/dist/lang/files/fr-fr.js +49 -12
- package/dist/lang/files/nl-nl.d.ts +37 -0
- package/dist/lang/files/nl-nl.js +49 -12
- package/dist/manifests.js +2 -0
- package/dist/preview/index.d.ts +1 -0
- package/dist/preview/index.js +1 -0
- package/dist/preview/manifest.d.ts +2 -0
- package/dist/preview/manifest.js +22 -0
- package/dist/preview/types.d.ts +72 -0
- package/dist/preview/types.js +2 -0
- package/dist/repository/SyncAction.respositoy.d.ts +13 -0
- package/dist/repository/SyncAction.respositoy.js +6 -0
- package/dist/repository/sources/SyncAction.source.d.ts +10 -0
- package/dist/repository/sources/SyncAction.source.js +6 -1
- package/dist/signalr/signalr.context.js +73 -26
- package/dist/tree/usync.menu-element.js +8 -8
- package/dist/utils/preview/content-type-diff.d.ts +18 -0
- package/dist/utils/preview/content-type-diff.js +72 -0
- package/dist/utils/preview/content-type-layout.d.ts +39 -0
- package/dist/utils/preview/content-type-layout.js +100 -0
- package/dist/workspace/components/usync-action-button.js +53 -53
- package/dist/workspace/components/usync-file-picker.element.js +33 -33
- package/dist/workspace/components/usync-file-upload.element.js +25 -25
- package/dist/workspace/dialogs/import-modal.element.js +22 -22
- package/dist/workspace/views/addons/addons.element.js +97 -97
- package/dist/workspace/views/default/default.element.js +186 -186
- package/dist/workspace/views/legacy/legacy.element.js +81 -81
- package/dist/workspace/views/settings/components/usyncSettingItem.element.js +38 -38
- package/dist/workspace/views/settings/settings.element.js +124 -124
- package/dist/workspace/workspace.element.js +16 -16
- package/package.json +77 -77
|
@@ -32,21 +32,21 @@ let uSyncResultRow = class uSyncResultRow extends UmbLitElement {
|
|
|
32
32
|
? 'icon-check color-green'
|
|
33
33
|
: 'icon-wrong color-red';
|
|
34
34
|
const noChange = result.change == ChangeType.NO_CHANGE || result.change == ChangeType.EXPORT;
|
|
35
|
-
return html `<div
|
|
36
|
-
class="${classMap({ no_change: noChange })} row"
|
|
37
|
-
@click=${() => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_showDetail).call(this, result)}>
|
|
38
|
-
<div class="icon-cell" .noPadding=${true}>
|
|
39
|
-
<umb-icon .name=${icon}></umb-icon>
|
|
40
|
-
</div>
|
|
41
|
-
<div class="row-content" .clipText=${true}>
|
|
42
|
-
<div class="item-detail">
|
|
43
|
-
<div class="item-change">${result.change}</div>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="item-name">
|
|
46
|
-
<div>${result.name}</div>
|
|
47
|
-
<div>${this.renderMessage(result)}</div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
35
|
+
return html `<div
|
|
36
|
+
class="${classMap({ no_change: noChange })} row"
|
|
37
|
+
@click=${() => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_showDetail).call(this, result)}>
|
|
38
|
+
<div class="icon-cell" .noPadding=${true}>
|
|
39
|
+
<umb-icon .name=${icon}></umb-icon>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="row-content" .clipText=${true}>
|
|
42
|
+
<div class="item-detail">
|
|
43
|
+
<div class="item-change">${result.change}</div>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="item-name">
|
|
46
|
+
<div>${result.name}</div>
|
|
47
|
+
<div>${this.renderMessage(result)}</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
50
|
</div>`;
|
|
51
51
|
}
|
|
52
52
|
renderMessage(result) {
|
|
@@ -54,11 +54,11 @@ let uSyncResultRow = class uSyncResultRow extends UmbLitElement {
|
|
|
54
54
|
result.change != ChangeType.IMPORT_FAIL) ||
|
|
55
55
|
!result.message
|
|
56
56
|
? html `<em>${result.message}</em>`
|
|
57
|
-
: html ` <uui-button
|
|
58
|
-
look="outline"
|
|
59
|
-
color="danger"
|
|
60
|
-
label="View error"
|
|
61
|
-
compact
|
|
57
|
+
: html ` <uui-button
|
|
58
|
+
look="outline"
|
|
59
|
+
color="danger"
|
|
60
|
+
label="View error"
|
|
61
|
+
compact
|
|
62
62
|
@click=${(e) => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_viewError).call(this, e, result)}></uui-button>`;
|
|
63
63
|
}
|
|
64
64
|
};
|
|
@@ -81,51 +81,51 @@ _uSyncResultRow_viewError = async function _uSyncResultRow_viewError(e, result)
|
|
|
81
81
|
});
|
|
82
82
|
return data;
|
|
83
83
|
};
|
|
84
|
-
uSyncResultRow.styles = css `
|
|
85
|
-
.row {
|
|
86
|
-
display: flex;
|
|
87
|
-
align-items: center;
|
|
88
|
-
gap: var(--uui-size-space-5);
|
|
89
|
-
padding: var(--uui-size-space-5);
|
|
90
|
-
border-bottom: 1px solid var(--uui-color-border);
|
|
91
|
-
cursor: pointer;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
:host:last-child {
|
|
95
|
-
background-color: blue;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.row:hover {
|
|
99
|
-
background-color: var(--uui-color-surface-alt);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.no_change {
|
|
103
|
-
color: var(--uui-color-disabled-contrast);
|
|
104
|
-
cursor: default;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.row-content {
|
|
108
|
-
gap: 10px;
|
|
109
|
-
flex-grow: 1;
|
|
110
|
-
display: flex;
|
|
111
|
-
align-items: center;
|
|
112
|
-
justify-content: space-between;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.item-name {
|
|
116
|
-
display: flex;
|
|
117
|
-
font-weight: bold;
|
|
118
|
-
align-items: center;
|
|
119
|
-
flex-grow: 2;
|
|
120
|
-
justify-content: space-between;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.item-detail {
|
|
124
|
-
display: flex;
|
|
125
|
-
flex-direction: column;
|
|
126
|
-
font-size: smaller;
|
|
127
|
-
min-width: 60px;
|
|
128
|
-
}
|
|
84
|
+
uSyncResultRow.styles = css `
|
|
85
|
+
.row {
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
gap: var(--uui-size-space-5);
|
|
89
|
+
padding: var(--uui-size-space-5);
|
|
90
|
+
border-bottom: 1px solid var(--uui-color-border);
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host:last-child {
|
|
95
|
+
background-color: blue;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.row:hover {
|
|
99
|
+
background-color: var(--uui-color-surface-alt);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.no_change {
|
|
103
|
+
color: var(--uui-color-disabled-contrast);
|
|
104
|
+
cursor: default;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.row-content {
|
|
108
|
+
gap: 10px;
|
|
109
|
+
flex-grow: 1;
|
|
110
|
+
display: flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
justify-content: space-between;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.item-name {
|
|
116
|
+
display: flex;
|
|
117
|
+
font-weight: bold;
|
|
118
|
+
align-items: center;
|
|
119
|
+
flex-grow: 2;
|
|
120
|
+
justify-content: space-between;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.item-detail {
|
|
124
|
+
display: flex;
|
|
125
|
+
flex-direction: column;
|
|
126
|
+
font-size: smaller;
|
|
127
|
+
min-width: 60px;
|
|
128
|
+
}
|
|
129
129
|
`;
|
|
130
130
|
__decorate([
|
|
131
131
|
property({ type: Object })
|
|
@@ -22,25 +22,25 @@ let uSyncResultGroupView = class uSyncResultGroupView extends UmbLitElement {
|
|
|
22
22
|
const changeCount = this.getChangeCount() ?? 0;
|
|
23
23
|
if (changeCount === 0 && !this.showAll)
|
|
24
24
|
return nothing;
|
|
25
|
-
return html `
|
|
26
|
-
<uui-box
|
|
25
|
+
return html `
|
|
26
|
+
<uui-box
|
|
27
27
|
class=${classMap({
|
|
28
28
|
has_changes: changeCount > 0,
|
|
29
|
-
})}>
|
|
30
|
-
<div
|
|
31
|
-
class="summary ${when(this.expanded, () => 'expanded')}"
|
|
32
|
-
@click=${() => (this.expanded = !this.expanded)}>
|
|
33
|
-
<h4>${this.localize.termOrDefault('uSync_' + this.groupName, this.groupName)}</h4>
|
|
34
|
-
<div class="summary-right">
|
|
35
|
-
<h4 class="count">${changeCount}/${this.results?.length}</h4>
|
|
36
|
-
<uui-icon
|
|
37
|
-
name="icon-play"
|
|
38
|
-
class=${classMap({ expanded: this.expanded })}></uui-icon>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
|
|
42
|
-
${when(this.expanded == true, () => html `<uui-table>${this.renderGroupedRows(this.results)}</uui-table>`)}
|
|
43
|
-
</uui-box>
|
|
29
|
+
})}>
|
|
30
|
+
<div
|
|
31
|
+
class="summary ${when(this.expanded, () => 'expanded')}"
|
|
32
|
+
@click=${() => (this.expanded = !this.expanded)}>
|
|
33
|
+
<h4>${this.localize.termOrDefault('uSync_' + this.groupName, this.groupName)}</h4>
|
|
34
|
+
<div class="summary-right">
|
|
35
|
+
<h4 class="count">${changeCount}/${this.results?.length}</h4>
|
|
36
|
+
<uui-icon
|
|
37
|
+
name="icon-play"
|
|
38
|
+
class=${classMap({ expanded: this.expanded })}></uui-icon>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
${when(this.expanded == true, () => html `<uui-table>${this.renderGroupedRows(this.results)}</uui-table>`)}
|
|
43
|
+
</uui-box>
|
|
44
44
|
`;
|
|
45
45
|
}
|
|
46
46
|
renderGroupedRows(results) {
|
|
@@ -52,52 +52,52 @@ let uSyncResultGroupView = class uSyncResultGroupView extends UmbLitElement {
|
|
|
52
52
|
return rowsHtml;
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
uSyncResultGroupView.styles = css `
|
|
56
|
-
uui-box {
|
|
57
|
-
cursor: pointer;
|
|
58
|
-
--uui-box-default-padding: 0;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
uui-table {
|
|
62
|
-
border-top-left-radius: 0;
|
|
63
|
-
border-top-right-radius: 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
usync-result-row:last-child row {
|
|
67
|
-
border-bottom: none;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.expanded {
|
|
71
|
-
border-bottom: 1px solid var(--uui-color-border);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.summary {
|
|
75
|
-
display: flex;
|
|
76
|
-
margin: 0;
|
|
77
|
-
padding: 0 20px;
|
|
78
|
-
justify-content: space-between;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.summary-right {
|
|
82
|
-
display: flex;
|
|
83
|
-
align-items: center;
|
|
84
|
-
gap: var(--uui-size-space-2);
|
|
85
|
-
color: var(--uui-color-border-emphasis);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.summary-right uui-icon {
|
|
89
|
-
transform: rotate(90deg);
|
|
90
|
-
transition: transform 0.5s cubic-bezier(0.42, 0, 0.37, 1.62);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.summary-right uui-icon.expanded {
|
|
94
|
-
transform: rotate(-90deg);
|
|
95
|
-
border-bottom: none;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.count {
|
|
99
|
-
color: var(--uui-text);
|
|
100
|
-
}
|
|
55
|
+
uSyncResultGroupView.styles = css `
|
|
56
|
+
uui-box {
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
--uui-box-default-padding: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
uui-table {
|
|
62
|
+
border-top-left-radius: 0;
|
|
63
|
+
border-top-right-radius: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
usync-result-row:last-child row {
|
|
67
|
+
border-bottom: none;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.expanded {
|
|
71
|
+
border-bottom: 1px solid var(--uui-color-border);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.summary {
|
|
75
|
+
display: flex;
|
|
76
|
+
margin: 0;
|
|
77
|
+
padding: 0 20px;
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.summary-right {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
gap: var(--uui-size-space-2);
|
|
85
|
+
color: var(--uui-color-border-emphasis);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.summary-right uui-icon {
|
|
89
|
+
transform: rotate(90deg);
|
|
90
|
+
transition: transform 0.5s cubic-bezier(0.42, 0, 0.37, 1.62);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.summary-right uui-icon.expanded {
|
|
94
|
+
transform: rotate(-90deg);
|
|
95
|
+
border-bottom: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.count {
|
|
99
|
+
color: var(--uui-text);
|
|
100
|
+
}
|
|
101
101
|
`;
|
|
102
102
|
__decorate([
|
|
103
103
|
state()
|
|
@@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
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
16
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17
17
|
};
|
|
18
|
-
var _uSyncResultsView_instances, _uSyncResultsView_modalContext, _uSyncResultsView_toggleShowAll, _uSyncResultsView_showDetail;
|
|
18
|
+
var _uSyncResultsView_instances, _uSyncResultsView_modalContext, _uSyncResultsView_toggleShowAll, _uSyncResultsView_showDetail, _uSyncResultsView_visibleItems;
|
|
19
19
|
import { LitElement, html, customElement, property, css, state, nothing, } from '@umbraco-cms/backoffice/external/lit';
|
|
20
20
|
import { ChangeType } from '@jumoo/uSync';
|
|
21
21
|
import { UmbElementMixin } from '@umbraco-cms/backoffice/element-api';
|
|
@@ -52,37 +52,37 @@ let uSyncResultsView = class uSyncResultsView extends UmbElementMixin(LitElement
|
|
|
52
52
|
const groupChanges = groups[key].filter((r) => r.change !== ChangeType.NO_CHANGE).length ?? 0;
|
|
53
53
|
if (groupChanges === 0 && !this.showAll)
|
|
54
54
|
continue;
|
|
55
|
-
const groupHtml = html `<usync-result-group
|
|
56
|
-
.groupName=${key}
|
|
57
|
-
.results=${groups[key]}
|
|
58
|
-
.showAll=${this.showAll}
|
|
55
|
+
const groupHtml = html `<usync-result-group
|
|
56
|
+
.groupName=${key}
|
|
57
|
+
.results=${groups[key]}
|
|
58
|
+
.showAll=${this.showAll}
|
|
59
59
|
@show-detail=${__classPrivateFieldGet(this, _uSyncResultsView_instances, "m", _uSyncResultsView_showDetail)}></usync-result-group> `;
|
|
60
60
|
groupsHtml.push(groupHtml);
|
|
61
61
|
}
|
|
62
62
|
return this.changeCount == 0 && !this.showAll
|
|
63
|
-
? html `
|
|
64
|
-
${this.renderResultBar(this.results?.length || 0, this.changeCount)}
|
|
65
|
-
<div class="empty">
|
|
66
|
-
<umb-localize key="uSync_noChange"></umb-localize>
|
|
67
|
-
</div>
|
|
63
|
+
? html `
|
|
64
|
+
${this.renderResultBar(this.results?.length || 0, this.changeCount)}
|
|
65
|
+
<div class="empty">
|
|
66
|
+
<umb-localize key="uSync_noChange"></umb-localize>
|
|
67
|
+
</div>
|
|
68
68
|
`
|
|
69
|
-
: html `<div id="result-box">
|
|
70
|
-
${this.renderResultBar(this.results?.length || 0, this.changeCount)}
|
|
71
|
-
${groupsHtml}
|
|
69
|
+
: html `<div id="result-box">
|
|
70
|
+
${this.renderResultBar(this.results?.length || 0, this.changeCount)}
|
|
71
|
+
${groupsHtml}
|
|
72
72
|
</div>`;
|
|
73
73
|
}
|
|
74
74
|
renderResultBar(count, changes) {
|
|
75
75
|
if (this.hideResultBar)
|
|
76
76
|
return nothing;
|
|
77
77
|
const localKey = changes === 0 ? 'uSync_noChangeCount' : 'uSync_changeCount';
|
|
78
|
-
return html `<div class="result-header">
|
|
79
|
-
<uui-toggle
|
|
80
|
-
.label=${this.localize.termOrDefault('uSync_showAll', 'Show all items')}
|
|
81
|
-
?checked=${this.showAll}
|
|
82
|
-
@change=${__classPrivateFieldGet(this, _uSyncResultsView_instances, "m", _uSyncResultsView_toggleShowAll)}></uui-toggle>
|
|
83
|
-
<umb-localize .key=${localKey} .args=${[count, changes]}
|
|
84
|
-
>${changes}/${count} items</umb-localize
|
|
85
|
-
>
|
|
78
|
+
return html `<div class="result-header">
|
|
79
|
+
<uui-toggle
|
|
80
|
+
.label=${this.localize.termOrDefault('uSync_showAll', 'Show all items')}
|
|
81
|
+
?checked=${this.showAll}
|
|
82
|
+
@change=${__classPrivateFieldGet(this, _uSyncResultsView_instances, "m", _uSyncResultsView_toggleShowAll)}></uui-toggle>
|
|
83
|
+
<umb-localize .key=${localKey} .args=${[count, changes]}
|
|
84
|
+
>${changes}/${count} items</umb-localize
|
|
85
|
+
>
|
|
86
86
|
</div>`;
|
|
87
87
|
}
|
|
88
88
|
};
|
|
@@ -98,10 +98,11 @@ _uSyncResultsView_showDetail = async function _uSyncResultsView_showDetail(e) {
|
|
|
98
98
|
const detailsModal = __classPrivateFieldGet(this, _uSyncResultsView_modalContext, "f")?.open(this, USYNC_DETAILS_MODAL, {
|
|
99
99
|
data: {
|
|
100
100
|
item: e.action,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
items: __classPrivateFieldGet(this, _uSyncResultsView_instances, "m", _uSyncResultsView_visibleItems).call(this),
|
|
102
|
+
showActions: (item) => !this.hideActions &&
|
|
103
|
+
(item.change == ChangeType.CREATE ||
|
|
104
|
+
item.change == ChangeType.UPDATE ||
|
|
105
|
+
item.change == ChangeType.IMPORT),
|
|
105
106
|
},
|
|
106
107
|
});
|
|
107
108
|
const data = await detailsModal?.onSubmit().catch(() => {
|
|
@@ -110,50 +111,57 @@ _uSyncResultsView_showDetail = async function _uSyncResultsView_showDetail(e) {
|
|
|
110
111
|
if (!data)
|
|
111
112
|
return;
|
|
112
113
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.
|
|
155
|
-
|
|
156
|
-
|
|
114
|
+
_uSyncResultsView_visibleItems = function _uSyncResultsView_visibleItems() {
|
|
115
|
+
const groups = this.groupBy(this.results || [], (result) => result.itemType);
|
|
116
|
+
return Object.values(groups)
|
|
117
|
+
.flat()
|
|
118
|
+
.filter((r) => r.change !== ChangeType.EXPORT &&
|
|
119
|
+
(this.showAll || r.change !== ChangeType.NO_CHANGE));
|
|
120
|
+
};
|
|
121
|
+
uSyncResultsView.styles = css `
|
|
122
|
+
:host {
|
|
123
|
+
display: block;
|
|
124
|
+
margin: var(--uui-size-space-4) 0;
|
|
125
|
+
display: flex;
|
|
126
|
+
flex-direction: column;
|
|
127
|
+
gap: var(--uui-size-space-4);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
#result-box {
|
|
131
|
+
display: flex;
|
|
132
|
+
flex-direction: column;
|
|
133
|
+
gap: var(--uui-size-space-4);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
uui-table {
|
|
137
|
+
position: relative;
|
|
138
|
+
z-index: 100;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.result-header {
|
|
142
|
+
display: flex;
|
|
143
|
+
justify-content: space-between;
|
|
144
|
+
padding: var(--uui-size-space-4);
|
|
145
|
+
border: 1px solid var(--uui-color-border);
|
|
146
|
+
border-radius: var(--uui-border-radius);
|
|
147
|
+
padding: var(--uui-size-space-4);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.result-header h3 {
|
|
151
|
+
margin: 0;
|
|
152
|
+
padding: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.empty {
|
|
156
|
+
padding: var(--uui-size-20);
|
|
157
|
+
font-size: var(--uui-type-h5-size);
|
|
158
|
+
text-align: center;
|
|
159
|
+
font-weight: 900;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.error {
|
|
163
|
+
background-color: #fce4ec;
|
|
164
|
+
}
|
|
157
165
|
`;
|
|
158
166
|
__decorate([
|
|
159
167
|
property({ type: Array })
|
|
@@ -30,8 +30,8 @@ _uSyncSyncFileInfoView_renderHmacMismatch = function _uSyncSyncFileInfoView_rend
|
|
|
30
30
|
return nothing;
|
|
31
31
|
if (this._syncFileInfo.hmacMatch)
|
|
32
32
|
return nothing;
|
|
33
|
-
return html `<div class="banner">
|
|
34
|
-
<umb-localize key="uSync_hmacMismatch"></umb-localize>
|
|
33
|
+
return html `<div class="banner">
|
|
34
|
+
<umb-localize key="uSync_hmacMismatch"></umb-localize>
|
|
35
35
|
</div>`;
|
|
36
36
|
};
|
|
37
37
|
_uSyncSyncFileInfoView_renderFormatMismatch = function _uSyncSyncFileInfoView_renderFormatMismatch() {
|
|
@@ -39,17 +39,17 @@ _uSyncSyncFileInfoView_renderFormatMismatch = function _uSyncSyncFileInfoView_re
|
|
|
39
39
|
return nothing;
|
|
40
40
|
if (this._syncFileInfo.isCurrent)
|
|
41
41
|
return nothing;
|
|
42
|
-
return html `<div class="banner">
|
|
43
|
-
<umb-localize key="uSync_formatMismatch"></umb-localize>
|
|
42
|
+
return html `<div class="banner">
|
|
43
|
+
<umb-localize key="uSync_formatMismatch"></umb-localize>
|
|
44
44
|
</div>`;
|
|
45
45
|
};
|
|
46
46
|
uSyncSyncFileInfoView.styles = [
|
|
47
|
-
css `
|
|
48
|
-
.banner {
|
|
49
|
-
padding: var(--uui-size-space-2) var(--uui-size-space-4);
|
|
50
|
-
margin: 0 0 var(--uui-size-space-4);
|
|
51
|
-
background-color: var(--uui-color-surface);
|
|
52
|
-
}
|
|
47
|
+
css `
|
|
48
|
+
.banner {
|
|
49
|
+
padding: var(--uui-size-space-2) var(--uui-size-space-4);
|
|
50
|
+
margin: 0 0 var(--uui-size-space-4);
|
|
51
|
+
background-color: var(--uui-color-surface);
|
|
52
|
+
}
|
|
53
53
|
`,
|
|
54
54
|
];
|
|
55
55
|
__decorate([
|
package/dist/constants.js
CHANGED
|
@@ -2,11 +2,26 @@ import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
|
|
|
2
2
|
import { nothing } from '@umbraco-cms/backoffice/external/lit';
|
|
3
3
|
import { uSyncDetailsModalData, uSyncDetailsModalValue } from '@jumoo/uSync';
|
|
4
4
|
import { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
|
|
5
|
+
type DetailsTab = 'changes' | 'diff';
|
|
5
6
|
export declare class uSyncDetailsModalElement extends UmbModalBaseElement<uSyncDetailsModalData, uSyncDetailsModalValue> {
|
|
6
7
|
#private;
|
|
7
8
|
importState: UUIButtonState;
|
|
9
|
+
private _preview?;
|
|
10
|
+
private _tab;
|
|
11
|
+
private _loading;
|
|
12
|
+
private _item?;
|
|
13
|
+
private _index;
|
|
14
|
+
/** the entity types there is a 'usync-item-preview' element for */
|
|
15
|
+
private _previewTypes;
|
|
8
16
|
constructor();
|
|
17
|
+
connectedCallback(): void;
|
|
9
18
|
render(): import("lit-html").TemplateResult<1>;
|
|
19
|
+
renderHeadline(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
20
|
+
renderNavigation(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
21
|
+
renderTabs(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
22
|
+
renderTab(tab: DetailsTab, key: string, fallback: string, icon: string): import("lit-html").TemplateResult<1>;
|
|
23
|
+
renderTabContent(): import("lit-html").TemplateResult<1>;
|
|
24
|
+
renderPreview(): import("lit-html").TemplateResult<1>;
|
|
10
25
|
renderActions(): typeof nothing | import("lit-html").TemplateResult<1>;
|
|
11
26
|
static styles: import("lit").CSSResult;
|
|
12
27
|
}
|