apostrophe 4.6.0 → 4.7.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/.github/workflows/main.yml +1 -1
- package/CHANGELOG.md +47 -1
- package/lib/big-upload-client.js +100 -0
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBar.vue +5 -3
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBarLocale.vue +6 -3
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBarUser.vue +4 -1
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposContextBar.vue +24 -16
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposContextTitle.vue +1 -0
- package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposSavingIndicator.vue +7 -5
- package/modules/@apostrophecms/area/index.js +5 -2
- package/modules/@apostrophecms/area/ui/apos/components/AposAreaContextualMenu.vue +27 -15
- package/modules/@apostrophecms/area/ui/apos/components/AposAreaExpandedMenu.vue +11 -7
- package/modules/@apostrophecms/area/ui/apos/components/AposAreaMenu.vue +25 -12
- package/modules/@apostrophecms/area/ui/apos/components/AposAreaMenuItem.vue +3 -1
- package/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +80 -30
- package/modules/@apostrophecms/asset/index.js +8 -4
- package/modules/@apostrophecms/attachment/index.js +4 -2
- package/modules/@apostrophecms/command-menu/ui/apos/components/AposCommandMenuKey.vue +28 -24
- package/modules/@apostrophecms/command-menu/ui/apos/components/AposCommandMenuShortcut.vue +17 -11
- package/modules/@apostrophecms/doc/index.js +22 -19
- package/modules/@apostrophecms/doc-type/index.js +6 -2
- package/modules/@apostrophecms/doc-type/ui/apos/components/AposDocEditor.vue +9 -5
- package/modules/@apostrophecms/doc-type/ui/apos/components/AposDocLocalePicker.vue +10 -5
- package/modules/@apostrophecms/doc-type/ui/apos/logic/AposDocContextMenu.js +12 -0
- package/modules/@apostrophecms/http/index.js +19 -3
- package/modules/@apostrophecms/http/lib/big-upload-middleware.js +251 -0
- package/modules/@apostrophecms/i18n/i18n/de.json +1 -1
- package/modules/@apostrophecms/i18n/i18n/en.json +9 -1
- package/modules/@apostrophecms/i18n/i18n/es.json +1 -1
- package/modules/@apostrophecms/i18n/i18n/fr.json +1 -1
- package/modules/@apostrophecms/i18n/i18n/it.json +1 -1
- package/modules/@apostrophecms/i18n/i18n/pt-BR.json +1 -1
- package/modules/@apostrophecms/i18n/i18n/sk.json +1 -1
- package/modules/@apostrophecms/i18n/index.js +3 -0
- package/modules/@apostrophecms/i18n/ui/apos/components/AposI18nLocalize.vue +30 -16
- package/modules/@apostrophecms/i18n/ui/apos/components/AposI18nLocalizeErrors.vue +7 -5
- package/modules/@apostrophecms/image/ui/apos/components/AposImageCropper.vue +5 -1
- package/modules/@apostrophecms/image/ui/apos/components/AposImageRelationshipEditor.vue +10 -6
- package/modules/@apostrophecms/image/ui/apos/components/AposMediaManager.vue +40 -18
- package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerDisplay.vue +35 -25
- package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerEditor.vue +11 -5
- package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerSelections.vue +15 -9
- package/modules/@apostrophecms/image/ui/apos/components/AposMediaUploader.vue +39 -31
- package/modules/@apostrophecms/job/index.js +1 -1
- package/modules/@apostrophecms/login/ui/apos/components/AposLoginForm.vue +9 -7
- package/modules/@apostrophecms/login/ui/apos/components/TheAposLogin.vue +17 -13
- package/modules/@apostrophecms/login/ui/apos/components/TheAposLoginHeader.vue +30 -20
- package/modules/@apostrophecms/modal/ui/apos/components/AposDocsManagerToolbar.vue +5 -0
- package/modules/@apostrophecms/modal/ui/apos/components/AposModal.vue +4 -1
- package/modules/@apostrophecms/modal/ui/apos/components/AposModalBreadcrumbs.vue +8 -4
- package/modules/@apostrophecms/modal/ui/apos/components/AposModalConfirm.vue +14 -8
- package/modules/@apostrophecms/modal/ui/apos/components/AposModalShareDraft.vue +32 -22
- package/modules/@apostrophecms/modal/ui/apos/components/AposModalTabs.vue +16 -14
- package/modules/@apostrophecms/modal/ui/apos/components/AposWidgetModalTabs.vue +16 -14
- package/modules/@apostrophecms/notification/ui/apos/components/AposNotification.vue +93 -91
- package/modules/@apostrophecms/page/index.js +482 -13
- package/modules/@apostrophecms/page/ui/apos/components/AposPagesManager.vue +43 -23
- package/modules/@apostrophecms/page/ui/apos/logic/AposPagesManager.js +248 -156
- package/modules/@apostrophecms/permission/ui/apos/components/AposPermissionGrid.vue +9 -5
- package/modules/@apostrophecms/piece-type/index.js +7 -7
- package/modules/@apostrophecms/piece-type/ui/apos/components/AposDocsManager.vue +92 -36
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue +32 -24
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapDivider.vue +4 -2
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapLink.vue +2 -1
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapMarks.vue +5 -3
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapStyles.vue +5 -3
- package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapTable.vue +5 -2
- package/modules/@apostrophecms/schema/index.js +26 -5
- package/modules/@apostrophecms/schema/lib/addFieldTypes.js +42 -9
- package/modules/@apostrophecms/schema/ui/apos/components/AposInputColor.vue +4 -2
- package/modules/@apostrophecms/schema/ui/apos/components/AposInputRange.vue +8 -4
- package/modules/@apostrophecms/schema/ui/apos/components/AposInputRelationship.vue +6 -4
- package/modules/@apostrophecms/schema/ui/apos/components/AposInputSlug.vue +5 -3
- package/modules/@apostrophecms/schema/ui/apos/components/AposInputWrapper.vue +19 -13
- package/modules/@apostrophecms/schema/ui/apos/components/AposSearchList.vue +6 -2
- package/modules/@apostrophecms/schema/ui/apos/components/AposSubform.vue +6 -4
- package/modules/@apostrophecms/schema/ui/apos/logic/AposInputSlug.js +28 -25
- package/modules/@apostrophecms/schema/ui/apos/scss/AposInputArray.scss +13 -7
- package/modules/@apostrophecms/settings/ui/apos/components/AposSettingsManager.vue +11 -6
- package/modules/@apostrophecms/translation/ui/apos/components/AposTranslationIndicator.vue +5 -3
- package/modules/@apostrophecms/ui/ui/apos/components/AposAvatar.vue +14 -12
- package/modules/@apostrophecms/ui/ui/apos/components/AposButton.vue +14 -11
- package/modules/@apostrophecms/ui/ui/apos/components/AposButtonSplit.vue +7 -3
- package/modules/@apostrophecms/ui/ui/apos/components/AposCellContextMenu.vue +4 -2
- package/modules/@apostrophecms/ui/ui/apos/components/AposCombo.vue +23 -17
- package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenu.vue +41 -18
- package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenuDialog.vue +7 -5
- package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenuItem.vue +10 -8
- package/modules/@apostrophecms/ui/ui/apos/components/AposEmptyState.vue +9 -5
- package/modules/@apostrophecms/ui/ui/apos/components/AposFile.vue +9 -6
- package/modules/@apostrophecms/ui/ui/apos/components/AposIndicator.vue +5 -0
- package/modules/@apostrophecms/ui/ui/apos/components/AposLoadingBlock.vue +3 -1
- package/modules/@apostrophecms/ui/ui/apos/components/AposLocale.vue +3 -1
- package/modules/@apostrophecms/ui/ui/apos/components/AposLocalePicker.vue +11 -9
- package/modules/@apostrophecms/ui/ui/apos/components/AposMinMaxCount.vue +5 -3
- package/modules/@apostrophecms/ui/ui/apos/components/AposPager.vue +4 -2
- package/modules/@apostrophecms/ui/ui/apos/components/AposPagerDots.vue +8 -6
- package/modules/@apostrophecms/ui/ui/apos/components/AposSlat.vue +25 -17
- package/modules/@apostrophecms/ui/ui/apos/components/AposSlatList.vue +5 -9
- package/modules/@apostrophecms/ui/ui/apos/components/AposSubformPreview.vue +10 -6
- package/modules/@apostrophecms/ui/ui/apos/components/AposTag.vue +9 -7
- package/modules/@apostrophecms/ui/ui/apos/components/AposTagApply.vue +8 -4
- package/modules/@apostrophecms/ui/ui/apos/components/AposTagList.vue +4 -2
- package/modules/@apostrophecms/ui/ui/apos/components/AposTagListItem.vue +7 -5
- package/modules/@apostrophecms/ui/ui/apos/components/AposToggle.vue +16 -0
- package/modules/@apostrophecms/ui/ui/apos/components/AposTree.vue +3 -1
- package/modules/@apostrophecms/ui/ui/apos/components/AposTreeRows.vue +11 -9
- package/modules/@apostrophecms/ui/ui/apos/mixins/AposArchiveMixin.js +2 -2
- package/modules/@apostrophecms/ui/ui/apos/mixins/AposPublishMixin.js +6 -6
- package/modules/@apostrophecms/ui/ui/apos/scss/global/_inputs.scss +30 -22
- package/modules/@apostrophecms/ui/ui/apos/scss/global/_theme.scss +22 -18
- package/modules/@apostrophecms/ui/ui/apos/scss/global/_tooltips.scss +18 -15
- package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_input_mixins.scss +8 -6
- package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_mixins.scss +3 -1
- package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_theme_mixins.scss +34 -19
- package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_type_mixins.scss +3 -1
- package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_zindex.scss +1 -0
- package/modules/@apostrophecms/ui/ui/apos/utils/index.js +140 -51
- package/modules/@apostrophecms/widget-type/index.js +3 -2
- package/modules/@apostrophecms/widget-type/ui/apos/mixins/AposWidgetMixin.js +5 -1
- package/package.json +5 -6
- package/test/big-upload.js +111 -0
- package/test/change-doc-ids.js +60 -1
- package/test/pages.js +488 -0
- package/test/schemas.js +327 -0
- package/test/utils.js +266 -5
|
@@ -237,20 +237,22 @@ export default {
|
|
|
237
237
|
@include apos-button-reset();
|
|
238
238
|
@include type-base;
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
240
|
+
& {
|
|
241
|
+
position: relative;
|
|
242
|
+
display: flex;
|
|
243
|
+
box-sizing: border-box;
|
|
244
|
+
align-items: center;
|
|
245
|
+
justify-content: space-between;
|
|
246
|
+
width: 100%;
|
|
247
|
+
height: 60px;
|
|
248
|
+
padding: 25px 10px;
|
|
249
|
+
border-bottom: 1px solid var(--a-base-7);
|
|
250
|
+
color: var(--a-text-primary);
|
|
251
|
+
text-align: left;
|
|
252
|
+
transition: all 200ms ease;
|
|
253
|
+
background-color: var(--a-base-9);
|
|
254
|
+
cursor: pointer;
|
|
255
|
+
}
|
|
254
256
|
|
|
255
257
|
@include media-up(lap) {
|
|
256
258
|
padding: 25px 10px 25px 20px;
|
|
@@ -7,10 +7,7 @@
|
|
|
7
7
|
:icon-size="notification.icon ? 16 : 12"
|
|
8
8
|
/>
|
|
9
9
|
</span>
|
|
10
|
-
<span
|
|
11
|
-
ref="label"
|
|
12
|
-
class="apos-notification__label"
|
|
13
|
-
>
|
|
10
|
+
<span ref="label" class="apos-notification__label">
|
|
14
11
|
{{ localize(notification.message) }}
|
|
15
12
|
<!-- OK to use index as key because buttons are constant for the lifetime of the notification -->
|
|
16
13
|
<button
|
|
@@ -24,10 +21,7 @@
|
|
|
24
21
|
{{ localize(button.label) }}
|
|
25
22
|
</button>
|
|
26
23
|
</span>
|
|
27
|
-
<div
|
|
28
|
-
v-if="job && job.total"
|
|
29
|
-
class="apos-notification__progress"
|
|
30
|
-
>
|
|
24
|
+
<div v-if="job && job.total" class="apos-notification__progress">
|
|
31
25
|
<div class="apos-notification__progress-bar">
|
|
32
26
|
<div
|
|
33
27
|
class="apos-notification__progress-now"
|
|
@@ -69,7 +63,7 @@ export default {
|
|
|
69
63
|
}
|
|
70
64
|
},
|
|
71
65
|
emits: [ 'close' ],
|
|
72
|
-
data
|
|
66
|
+
data() {
|
|
73
67
|
return {
|
|
74
68
|
job: this.notification.job && this.notification.job._id ? {
|
|
75
69
|
route: `${apos.modules['@apostrophecms/job'].action}/${this.notification.job._id}`,
|
|
@@ -107,7 +101,7 @@ export default {
|
|
|
107
101
|
|
|
108
102
|
return classes.join(' ');
|
|
109
103
|
},
|
|
110
|
-
iconComponent
|
|
104
|
+
iconComponent() {
|
|
111
105
|
if (this.notification.icon) {
|
|
112
106
|
return this.notification.icon;
|
|
113
107
|
} else {
|
|
@@ -175,7 +169,7 @@ export default {
|
|
|
175
169
|
}
|
|
176
170
|
return result;
|
|
177
171
|
},
|
|
178
|
-
async pollJob
|
|
172
|
+
async pollJob() {
|
|
179
173
|
if (!this.job?.total) {
|
|
180
174
|
return;
|
|
181
175
|
}
|
|
@@ -210,9 +204,10 @@ export default {
|
|
|
210
204
|
</script>
|
|
211
205
|
|
|
212
206
|
<style lang="scss" scoped>
|
|
213
|
-
|
|
214
|
-
|
|
207
|
+
.apos-notification {
|
|
208
|
+
@include apos-transition();
|
|
215
209
|
|
|
210
|
+
& {
|
|
216
211
|
position: relative;
|
|
217
212
|
display: inline-flex;
|
|
218
213
|
overflow: hidden;
|
|
@@ -225,52 +220,54 @@ export default {
|
|
|
225
220
|
max-width: 500px;
|
|
226
221
|
border-radius: 200px;
|
|
227
222
|
box-shadow: var(--a-box-shadow);
|
|
228
|
-
|
|
229
|
-
& + .apos-notification {
|
|
230
|
-
margin-top: 8px;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
&:hover {
|
|
234
|
-
transform: translateY(-1px);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.apos-notification--hidden {
|
|
239
|
-
display: none;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.apos-notification--long {
|
|
243
|
-
border-radius: 10px;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
.apos-notification__indicator {
|
|
247
|
-
position: relative;
|
|
248
|
-
display: inline-flex;
|
|
249
|
-
margin-right: 10px;
|
|
250
|
-
padding: 5px;
|
|
251
|
-
color: var(--a-base-1);
|
|
252
|
-
border-radius: 50%;
|
|
253
|
-
background-color: var(--a-base-1);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.apos-notification--warning .apos-notification__indicator {
|
|
257
|
-
background-color: var(--a-warning-fade);
|
|
258
|
-
color: var(--a-warning);
|
|
259
223
|
}
|
|
260
224
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
color: var(--a-success);
|
|
225
|
+
&+.apos-notification {
|
|
226
|
+
margin-top: 8px;
|
|
264
227
|
}
|
|
265
228
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
color: var(--a-danger);
|
|
229
|
+
&:hover {
|
|
230
|
+
transform: translateY(-1px);
|
|
269
231
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.apos-notification--hidden {
|
|
235
|
+
display: none;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.apos-notification--long {
|
|
239
|
+
border-radius: 10px;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.apos-notification__indicator {
|
|
243
|
+
position: relative;
|
|
244
|
+
display: inline-flex;
|
|
245
|
+
margin-right: 10px;
|
|
246
|
+
padding: 5px;
|
|
247
|
+
color: var(--a-base-1);
|
|
248
|
+
border-radius: 50%;
|
|
249
|
+
background-color: var(--a-base-1);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.apos-notification--warning .apos-notification__indicator {
|
|
253
|
+
background-color: var(--a-warning-fade);
|
|
254
|
+
color: var(--a-warning);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.apos-notification--success .apos-notification__indicator {
|
|
258
|
+
background-color: var(--a-success-fade);
|
|
259
|
+
color: var(--a-success);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.apos-notification--danger .apos-notification__indicator {
|
|
263
|
+
background-color: var(--a-danger-fade);
|
|
264
|
+
color: var(--a-danger);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.apos-notification__button {
|
|
268
|
+
@include apos-transition(all);
|
|
269
|
+
|
|
270
|
+
& {
|
|
274
271
|
position: absolute;
|
|
275
272
|
right: 2px;
|
|
276
273
|
display: flex;
|
|
@@ -281,55 +278,60 @@ export default {
|
|
|
281
278
|
border: none;
|
|
282
279
|
color: var(--a-text-inverted);
|
|
283
280
|
background-color: transparent;
|
|
284
|
-
|
|
285
|
-
&:hover {
|
|
286
|
-
cursor: pointer;
|
|
287
|
-
}
|
|
288
281
|
}
|
|
289
282
|
|
|
290
|
-
|
|
291
|
-
|
|
283
|
+
&:hover {
|
|
284
|
+
cursor: pointer;
|
|
292
285
|
}
|
|
286
|
+
}
|
|
293
287
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
288
|
+
.apos-notification__close-icon {
|
|
289
|
+
height: 12px;
|
|
290
|
+
}
|
|
297
291
|
|
|
292
|
+
.apos-notification__label,
|
|
293
|
+
.apos-notification__progress-value {
|
|
294
|
+
@include type-base;
|
|
295
|
+
|
|
296
|
+
& {
|
|
298
297
|
color: var(--a-text-inverted);
|
|
299
|
-
|
|
298
|
+
line-height: var(--a-line-tallest);
|
|
300
299
|
}
|
|
300
|
+
}
|
|
301
301
|
|
|
302
|
-
|
|
303
|
-
|
|
302
|
+
.apos-notification__label :deep(button) {
|
|
303
|
+
@include apos-button-reset();
|
|
304
304
|
|
|
305
|
+
& {
|
|
305
306
|
text-decoration: underline;
|
|
306
307
|
text-decoration-color: var(--a-success);
|
|
307
308
|
text-underline-offset: 3px;
|
|
308
309
|
padding: 0 3px;
|
|
309
310
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.apos-notification__progress {
|
|
314
|
+
display: flex;
|
|
315
|
+
flex-shrink: 0;
|
|
316
|
+
align-items: center;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.apos-notification__progress-bar {
|
|
320
|
+
width: 70px;
|
|
321
|
+
height: 4px;
|
|
322
|
+
margin-left: 20px;
|
|
323
|
+
border-width: 0;
|
|
324
|
+
background-color: var(--a-progress-bg);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.apos-notification__progress-now {
|
|
328
|
+
height: 100%;
|
|
329
|
+
background-color: var(--a-brand-green);
|
|
330
|
+
background-image: linear-gradient(46deg, var(--a-brand-gold) 0%, var(--a-brand-red) 26%, var(--a-brand-magenta) 47%, var(--a-brand-blue) 76%, var(--a-brand-green) 100%);
|
|
331
|
+
transition: width 500ms ease-out;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.apos-notification__progress-value {
|
|
335
|
+
margin-left: 20px;
|
|
336
|
+
}
|
|
335
337
|
</style>
|