@concretecms/bedrock 1.0.3 → 1.1.3
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/.idea/codeStyles/Project.xml +33 -0
- package/.idea/inspectionProfiles/Project_Default.xml +7 -0
- package/assets/account/js/frontend/components/Avatar/Cropper.js +12 -4
- package/assets/bedrock/scss/_theme-grid.scss +4 -2
- package/assets/ckeditor/js/concrete/link.js +5 -4
- package/assets/ckeditor/js/concrete/styles.js +2 -2
- package/assets/cms/components/BoardInstanceRule.vue +16 -3
- package/assets/cms/components/BoardInstanceRuleList.vue +24 -7
- package/assets/cms/components/CompletedProcessList.vue +28 -9
- package/assets/cms/components/Icon.vue +16 -1
- package/assets/cms/components/Pagination.vue +45 -8
- package/assets/cms/components/customizer/ColorPageCustomizerWidget.vue +7 -0
- package/assets/cms/components/customizer/FontWeightPageCustomizerWidget.vue +7 -1
- package/assets/cms/components/customizer/ImagePageCustomizerWidget.vue +13 -3
- package/assets/cms/components/customizer/TextTransformPageCustomizerWidget.vue +7 -1
- package/assets/cms/components/customizer/ThemeCustomizer.vue +36 -15
- package/assets/cms/components/customizer/ThemeCustomizerPreview.vue +11 -1
- package/assets/cms/components/customizer/TypePageCustomizerWidget.vue +21 -6
- package/assets/cms/components/express/Selector.vue +21 -6
- package/assets/cms/components/file-manager/Chooser/ExternalFileProvider.vue +13 -2
- package/assets/cms/components/file-manager/Chooser/FileManager.vue +75 -72
- package/assets/cms/components/file-manager/Chooser/FileSets.vue +24 -9
- package/assets/cms/components/file-manager/Chooser/FileUpload.vue +3 -1
- package/assets/cms/components/file-manager/Chooser/Files.vue +57 -9
- package/assets/cms/components/file-manager/Chooser/FolderBookmark.vue +4 -0
- package/assets/cms/components/file-manager/Chooser/RecentUploads.vue +4 -0
- package/assets/cms/components/file-manager/Chooser/SavedSearch.vue +24 -9
- package/assets/cms/components/file-manager/Chooser/Search.vue +25 -9
- package/assets/cms/components/file-manager/Chooser.vue +82 -8
- package/assets/cms/components/file-manager/Uploader/UploadFromComputer.vue +3 -2
- package/assets/cms/components/file-manager/Uploader.vue +1 -0
- package/assets/cms/components/form/ConcreteFileDirectoryInput.vue +17 -4
- package/assets/cms/components/form/ConcreteFileInput.vue +8 -1
- package/assets/cms/components/gallery/GalleryEdit.vue +20 -5
- package/assets/cms/components/gallery/ImageDetail.vue +22 -5
- package/assets/cms/components/groups/Chooser.vue +17 -4
- package/assets/cms/components/page/Chooser/ChooserSearch.vue +15 -2
- package/assets/cms/components/page/PageList.vue +15 -3
- package/assets/cms/components/user/Chooser/Search.vue +15 -2
- package/assets/cms/components/user/Chooser/Users.vue +19 -5
- package/assets/cms/components/user/Chooser.vue +15 -2
- package/assets/cms/js/edit-mode/layouts.js +4 -4
- package/assets/cms/js/edit-mode/style-customizer/color.js +10 -3
- package/assets/cms/js/edit-mode/style-customizer/custom.js +1 -1
- package/assets/cms/js/edit-mode/style-customizer/typography.js +8 -1
- package/assets/cms/js/file-manager/file-manager.js +1 -8
- package/assets/cms/scss/_toolbar.scss +1 -0
- package/assets/cms/scss/panels/_shared.scss +1 -1
- package/package.json +3 -3
- package/.idea/dataSources.local.xml +0 -4
- package/.idea/misc.xml +0 -6
- package/.idea/workspace.xml +0 -319
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
@click="$emit('delete')"
|
|
11
11
|
type="outline"
|
|
12
12
|
>
|
|
13
|
-
|
|
13
|
+
{{ i18n.removeFromGallery }}
|
|
14
14
|
</IconButton>
|
|
15
|
-
<!-- <button type="button" class="btn btn-secondary" @click="$emit('delete')">
|
|
15
|
+
<!-- <button type="button" class="btn btn-secondary" @click="$emit('delete')">{{ i18n.removeFromGallery }}</button> -->
|
|
16
16
|
</div>
|
|
17
17
|
<div class="image-details">
|
|
18
18
|
<section>
|
|
19
|
-
<strong>
|
|
19
|
+
<strong>{{ i18n.customAttributes }}</strong>
|
|
20
20
|
|
|
21
21
|
<p class="image-title">{{this.$props.image.title}}</p>
|
|
22
22
|
<p class="image-description">{{this.$props.image.description}}</p>
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
type="outline"
|
|
33
33
|
v-if="$props.image.detailUrl"
|
|
34
34
|
>
|
|
35
|
-
|
|
35
|
+
{{ i18n.editAttributes }}
|
|
36
36
|
</IconButton>
|
|
37
37
|
</div>
|
|
38
38
|
</section>
|
|
39
39
|
|
|
40
40
|
<section v-if="!this.$props.image.displayChoices.length">
|
|
41
41
|
<div class="mb-2">
|
|
42
|
-
<strong>
|
|
42
|
+
<strong>{{ i18n.displayOptions }}</strong>
|
|
43
43
|
</div>
|
|
44
44
|
<div v-for="(choice, index) in this.$props.image.displayChoices" :key="index">
|
|
45
45
|
<input v-if="choice.type === 'text'"
|
|
@@ -123,6 +123,23 @@ export default {
|
|
|
123
123
|
IconButton,
|
|
124
124
|
...IconButton.components
|
|
125
125
|
},
|
|
126
|
+
data: () => ({
|
|
127
|
+
i18n: {
|
|
128
|
+
removeFromGallery: 'Remove from Gallery',
|
|
129
|
+
customAttributes: 'Custom Attributes',
|
|
130
|
+
editAttributes: 'Edit Attributes',
|
|
131
|
+
displayOptions: 'Display Options'
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
mounted() {
|
|
135
|
+
if (window.ccmi18n_gallery) {
|
|
136
|
+
for (const key in this.i18n) {
|
|
137
|
+
if (window.ccmi18n_gallery[key]) {
|
|
138
|
+
this.i18n[key] = window.ccmi18n_gallery[key]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
},
|
|
126
143
|
props: {
|
|
127
144
|
image: {
|
|
128
145
|
type: Object,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="mb-3 ccm-header-search-form">
|
|
4
4
|
<form method="get" @submit="performSearch">
|
|
5
5
|
<div class="input-group">
|
|
6
|
-
<input type="search" v-model="searchKeywords" placeholder="
|
|
6
|
+
<input type="search" v-model="searchKeywords" :placeholder="i18n.search" class="form-control border-end-0" autocomplete="off">
|
|
7
7
|
<button type="submit" class="input-group-icon">
|
|
8
8
|
<svg width="16" height="16">
|
|
9
9
|
<use xlink:href="#icon-search"/>
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
<table class="border-top ccm-search-results-table">
|
|
19
19
|
<thead>
|
|
20
20
|
<tr>
|
|
21
|
-
<th>
|
|
22
|
-
<th class="w-100">
|
|
21
|
+
<th>{{ i18n.id }}</th>
|
|
22
|
+
<th class="w-100">{{ i18n.name }}</th>
|
|
23
23
|
</tr>
|
|
24
24
|
</thead>
|
|
25
25
|
<tbody>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
</table>
|
|
32
32
|
</div>
|
|
33
33
|
<div v-else>
|
|
34
|
-
|
|
34
|
+
{{ i18n.noResults }}
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
37
|
<div v-show="searchSubmitted === 'searching'">
|
|
@@ -65,6 +65,12 @@ export default {
|
|
|
65
65
|
},
|
|
66
66
|
data() {
|
|
67
67
|
return {
|
|
68
|
+
i18n: {
|
|
69
|
+
search: 'Search',
|
|
70
|
+
id: 'ID',
|
|
71
|
+
name: 'Name',
|
|
72
|
+
noResults: 'No results found.'
|
|
73
|
+
},
|
|
68
74
|
searchKeywords: '',
|
|
69
75
|
searchResults: [],
|
|
70
76
|
searchSubmitted: false,
|
|
@@ -91,6 +97,13 @@ export default {
|
|
|
91
97
|
}
|
|
92
98
|
},
|
|
93
99
|
mounted() {
|
|
100
|
+
if (window.ccmi18n_groups) {
|
|
101
|
+
for (const key in this.i18n) {
|
|
102
|
+
if (window.ccmi18n_groups[key]) {
|
|
103
|
+
this.i18n[key] = window.ccmi18n_groups[key]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
94
107
|
var my = this
|
|
95
108
|
new ConcreteAjaxRequest({
|
|
96
109
|
method: 'POST',
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="col-md-4 ms-auto">
|
|
5
5
|
<form @submit.prevent="search">
|
|
6
6
|
<div class="ccm-header-search-form-input input-group">
|
|
7
|
-
<input type="text" class="form-control border-end-0" placeholder="
|
|
7
|
+
<input type="text" class="form-control border-end-0" :placeholder="i18n.search" autocomplete="false" v-model="searchText">
|
|
8
8
|
<button type="submit" class="input-group-icon">
|
|
9
9
|
<svg width="16" height="16">
|
|
10
10
|
<use xlink:href="#icon-search"/>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<span class="search-icon my-4">
|
|
19
19
|
<Icon icon="search" type="fas" color="#f4f4f4"/>
|
|
20
20
|
</span>
|
|
21
|
-
<p><b>
|
|
21
|
+
<p><b>{{ i18n.initialPageSearchChooserTip }}</b></p>
|
|
22
22
|
</div>
|
|
23
23
|
<div v-if="keywords">
|
|
24
24
|
<PageList
|
|
@@ -37,6 +37,10 @@ import PageList from './../PageList'
|
|
|
37
37
|
export default {
|
|
38
38
|
components: { Icon, PageList },
|
|
39
39
|
data: () => ({
|
|
40
|
+
i18n: {
|
|
41
|
+
search: 'Search',
|
|
42
|
+
initialPageSearchChooserTip: "Let's get some info on what you're looking for."
|
|
43
|
+
},
|
|
40
44
|
searchText: '',
|
|
41
45
|
keywords: '',
|
|
42
46
|
routePath: '/ccm/system/page/chooser/search/'
|
|
@@ -52,6 +56,15 @@ export default {
|
|
|
52
56
|
title: page.name
|
|
53
57
|
})
|
|
54
58
|
}
|
|
59
|
+
},
|
|
60
|
+
mounted() {
|
|
61
|
+
if (window.ccmi18n_sitemap) {
|
|
62
|
+
for (const key in this.i18n) {
|
|
63
|
+
if (window.ccmi18n_sitemap[key]) {
|
|
64
|
+
this.i18n[key] = window.ccmi18n_sitemap[key]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
55
68
|
}
|
|
56
69
|
}
|
|
57
70
|
</script>
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
<thead>
|
|
9
9
|
<tr>
|
|
10
10
|
<th><span>Type</span></th>
|
|
11
|
-
<th :class="orderBy === 'cv.cvName' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('cv.cvName', 'asc', $event)">
|
|
12
|
-
<th :class="orderBy === 'cv.cvDatePublic' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('cv.cvDatePublic', 'asc', $event)">
|
|
13
|
-
<th :class="orderBy === 'c.cDateModified' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('c.cDateModified', 'desc', $event)">
|
|
11
|
+
<th :class="orderBy === 'cv.cvName' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('cv.cvName', 'asc', $event)">{{ i118n.name }}</a></th>
|
|
12
|
+
<th :class="orderBy === 'cv.cvDatePublic' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('cv.cvDatePublic', 'asc', $event)">{{ i18n.date }}</a></th>
|
|
13
|
+
<th :class="orderBy === 'c.cDateModified' ? 'ccm-results-list-active-sort-' + orderByDirection : ''"><a href="#" @click="sortResults('c.cDateModified', 'desc', $event)">{{ i18n.lastModified }}</a></th>
|
|
14
14
|
<th><span>Author</span></th>
|
|
15
15
|
</tr>
|
|
16
16
|
</thead>
|
|
@@ -58,6 +58,11 @@ import Pagination from '../Pagination'
|
|
|
58
58
|
export default {
|
|
59
59
|
components: { Pagination },
|
|
60
60
|
data: () => ({
|
|
61
|
+
i18n: {
|
|
62
|
+
name: 'Name',
|
|
63
|
+
date: 'Date',
|
|
64
|
+
lastModified: 'Last Modified'
|
|
65
|
+
},
|
|
61
66
|
currentPage: -1,
|
|
62
67
|
latestSearchID: null,
|
|
63
68
|
mouseOver: 0,
|
|
@@ -190,6 +195,13 @@ export default {
|
|
|
190
195
|
}
|
|
191
196
|
},
|
|
192
197
|
mounted () {
|
|
198
|
+
if (window.ccmi18n_sitemap) {
|
|
199
|
+
for (const key in this.i18n) {
|
|
200
|
+
if (window.ccmi18n_sitemap[key]) {
|
|
201
|
+
this.i18n[key] = window.ccmi18n_sitemap[key]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
193
205
|
this.fetchPages()
|
|
194
206
|
}
|
|
195
207
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="col-md-6 ms-auto">
|
|
5
5
|
<form @submit.prevent="search">
|
|
6
6
|
<div class="ccm-header-search-form-input input-group">
|
|
7
|
-
<input type="text" class="form-control border-end-0" placeholder="
|
|
7
|
+
<input type="text" class="form-control border-end-0" :placeholder="i18n.search" autocomplete="false" v-model="searchText">
|
|
8
8
|
<button type="submit" class="input-group-icon">
|
|
9
9
|
<svg width="16" height="16">
|
|
10
10
|
<use xlink:href="#icon-search"/>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<span class="search-icon my-4">
|
|
19
19
|
<Icon icon="search" type="fas" color="#f4f4f4"/>
|
|
20
20
|
</span>
|
|
21
|
-
<p><b>
|
|
21
|
+
<p><b>{{ i18n.initialUserSearchChooserTip }}</b></p>
|
|
22
22
|
</div>
|
|
23
23
|
<div>
|
|
24
24
|
<users v-if="keywords"
|
|
@@ -39,6 +39,10 @@ export default {
|
|
|
39
39
|
Users
|
|
40
40
|
},
|
|
41
41
|
data: () => ({
|
|
42
|
+
i18n: {
|
|
43
|
+
search: 'Search',
|
|
44
|
+
initialUserSearchChooserTip: "Let's get some info on what you're looking for."
|
|
45
|
+
},
|
|
42
46
|
keywords: '',
|
|
43
47
|
searchText: '',
|
|
44
48
|
selectedUsers: [],
|
|
@@ -59,6 +63,15 @@ export default {
|
|
|
59
63
|
selectedUsers: function(value) {
|
|
60
64
|
this.$emit('update:selectedUsers', value)
|
|
61
65
|
}
|
|
66
|
+
},
|
|
67
|
+
mounted() {
|
|
68
|
+
if (window.ccmi18n_users) {
|
|
69
|
+
for (const key in this.i18n) {
|
|
70
|
+
if (window.ccmi18n_users[key]) {
|
|
71
|
+
this.i18n[key] = window.ccmi18n_users[key]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
}
|
|
64
77
|
</script>
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<thead>
|
|
7
7
|
<tr>
|
|
8
8
|
<th></th>
|
|
9
|
-
<th @click="sortBy('name')" :class="getSortColumnClassName('name')"><a href="javascript:void(0)">
|
|
10
|
-
<th @click="sortBy('email')" :class="getSortColumnClassName('email')"><a href="javascript:void(0)">
|
|
11
|
-
<th @click="sortBy('dateAdded')" :class="getSortColumnClassName('dateAdded')"><a href="javascript:void(0)">
|
|
12
|
-
<th>
|
|
13
|
-
<th @click="sortBy('totalLogins')" :class="getSortColumnClassName('totalLogins')"><a href="javascript:void(0)"
|
|
9
|
+
<th @click="sortBy('name')" :class="getSortColumnClassName('name')"><a href="javascript:void(0)">{{ i18n.username }}</a></th>
|
|
10
|
+
<th @click="sortBy('email')" :class="getSortColumnClassName('email')"><a href="javascript:void(0)">{{ i18n.email }}</a></th>
|
|
11
|
+
<th @click="sortBy('dateAdded')" :class="getSortColumnClassName('dateAdded')"><a href="javascript:void(0)">{{ i18n.date }}</a></th>
|
|
12
|
+
<th>{{ i18n.status }}</th>
|
|
13
|
+
<th @click="sortBy('totalLogins')" :class="getSortColumnClassName('totalLogins')"><a href="javascript:void(0)">{{ i18n.numLogins }}</a></th>
|
|
14
14
|
</tr>
|
|
15
15
|
</thead>
|
|
16
16
|
<tbody>
|
|
@@ -36,6 +36,13 @@
|
|
|
36
36
|
export default {
|
|
37
37
|
data() {
|
|
38
38
|
return {
|
|
39
|
+
i18n: {
|
|
40
|
+
username: 'Username',
|
|
41
|
+
email: 'Email',
|
|
42
|
+
date: 'Date',
|
|
43
|
+
status: 'Status',
|
|
44
|
+
numLogins: '# Logins'
|
|
45
|
+
},
|
|
39
46
|
isLoading: true,
|
|
40
47
|
userList: [],
|
|
41
48
|
selectedUsers: [],
|
|
@@ -111,6 +118,13 @@ export default {
|
|
|
111
118
|
}
|
|
112
119
|
},
|
|
113
120
|
mounted() {
|
|
121
|
+
if (window.ccmi18n_users) {
|
|
122
|
+
for (const key in this.i18n) {
|
|
123
|
+
if (window.ccmi18n_users[key]) {
|
|
124
|
+
this.i18n[key] = window.ccmi18n_users[key]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
114
128
|
this.getUsers()
|
|
115
129
|
}
|
|
116
130
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<search :selectedUsers.sync="selectedUsers" :multiple-selection="multipleSelection"/>
|
|
4
4
|
<div class="dialog-buttons">
|
|
5
|
-
<button class="btn btn-secondary" data-dialog-action="cancel">
|
|
6
|
-
<button type="button" @click="chooseUsers" :disabled="selectedUsers.length === 0" class="btn btn-primary">
|
|
5
|
+
<button class="btn btn-secondary" data-dialog-action="cancel">{{ i18n.cancel }}</button>
|
|
6
|
+
<button type="button" @click="chooseUsers" :disabled="selectedUsers.length === 0" class="btn btn-primary">{{ i18n.choose }}</button>
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
9
|
</template>
|
|
@@ -25,6 +25,10 @@ export default {
|
|
|
25
25
|
},
|
|
26
26
|
data() {
|
|
27
27
|
return {
|
|
28
|
+
i18n: {
|
|
29
|
+
cancel: 'Cancel',
|
|
30
|
+
choose: 'Choose'
|
|
31
|
+
},
|
|
28
32
|
selectedUsers: []
|
|
29
33
|
}
|
|
30
34
|
},
|
|
@@ -32,6 +36,15 @@ export default {
|
|
|
32
36
|
chooseUsers() {
|
|
33
37
|
window.ConcreteEvent.publish('UserSearchDialogSelectUser.core', { users: this.selectedUsers })
|
|
34
38
|
}
|
|
39
|
+
},
|
|
40
|
+
mounted() {
|
|
41
|
+
if (window.ccmi18n_users) {
|
|
42
|
+
for (const key in this.i18n) {
|
|
43
|
+
if (window.ccmi18n_users[key]) {
|
|
44
|
+
this.i18n[key] = window.ccmi18n_users[key]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
35
48
|
}
|
|
36
49
|
}
|
|
37
50
|
</script>
|
|
@@ -173,8 +173,8 @@ ConcreteLayout.prototype._setupFormEvents = function () {
|
|
|
173
173
|
ConcreteLayout.prototype.buildThemeGridGrid = function () {
|
|
174
174
|
this.$element.html('')
|
|
175
175
|
|
|
176
|
-
var row =
|
|
177
|
-
row +=
|
|
176
|
+
var row = '<div id="ccm-theme-grid-edit-mode-row-wrapper">'
|
|
177
|
+
row += this.options.rowstart
|
|
178
178
|
|
|
179
179
|
var columnSpans = this._getThemeGridColumnSpan(this.columns)
|
|
180
180
|
$.each(columnSpans, function (i, spanInfo) {
|
|
@@ -213,8 +213,8 @@ ConcreteLayout.prototype._updateThemeGridView = function (presetLoad) {
|
|
|
213
213
|
|
|
214
214
|
ConcreteLayout.prototype._buildThemeGridGridFromPresetColumns = function (arLayoutColumns) {
|
|
215
215
|
this.$element.html('')
|
|
216
|
-
var row =
|
|
217
|
-
row +=
|
|
216
|
+
var row = '<div id="ccm-theme-grid-edit-mode-row-wrapper">'
|
|
217
|
+
row += this.options.rowstart
|
|
218
218
|
$.each(arLayoutColumns, function (i, column) {
|
|
219
219
|
var columnHTML = '<div id="ccm-edit-layout-column-' + i + '" class="ccm-theme-grid-column" ' +
|
|
220
220
|
'data-offset="' + column.arLayoutColumnOffset + '" data-span="' + column.arLayoutColumnSpan + '"><div class="ccm-layout-column-highlight">' +
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
function ConcreteStyleCustomizerColorPicker($element, options) {
|
|
4
4
|
var my = this
|
|
5
5
|
my.$element = $element
|
|
6
|
+
const defaulti18n = window.ccmi18n_styleCustomizer || null
|
|
6
7
|
my.options = $.extend(true, {
|
|
7
8
|
initialColor: '',
|
|
8
9
|
i18n: {
|
|
9
|
-
cancel: 'Cancel',
|
|
10
|
-
choose: 'Choose',
|
|
11
|
-
clear: '
|
|
10
|
+
cancel: defaulti18n && defaulti18n.cancel ? defaulti18n.cancel : 'Cancel',
|
|
11
|
+
choose: defaulti18n && defaulti18n.choose ? defaulti18n.choose : 'Choose',
|
|
12
|
+
clear: defaulti18n && defaulti18n.clearColorSelection ? defaulti18n.clearColorSelection : 'Clear Color Selection',
|
|
13
|
+
noColorSelected: defaulti18n && defaulti18n.noColorSelected ? defaulti18n.noColorSelected : 'No Color Selected',
|
|
14
|
+
togglePaletteMore: defaulti18n && defaulti18n.togglePaletteMore ? defaulti18n.togglePaletteMore : 'More',
|
|
15
|
+
togglePaletteLess: defaulti18n && defaulti18n.togglePaletteLess ? defaulti18n.togglePaletteLess : 'Less'
|
|
12
16
|
}
|
|
13
17
|
}, options || {})
|
|
14
18
|
$element.spectrum({
|
|
@@ -22,6 +26,9 @@ function ConcreteStyleCustomizerColorPicker($element, options) {
|
|
|
22
26
|
cancelText: my.options.i18n.cancel,
|
|
23
27
|
chooseText: my.options.i18n.choose,
|
|
24
28
|
clearText: my.options.i18n.clear,
|
|
29
|
+
noColorSelectedText: my.options.i18n.noColorSelected,
|
|
30
|
+
togglePaletteMoreText: my.options.i18n.togglePaletteMore,
|
|
31
|
+
togglePaletteLessText: my.options.i18n.togglePaletteLess,
|
|
25
32
|
change: function() {
|
|
26
33
|
ConcreteEvent.publish('StyleCustomizerControlUpdate')
|
|
27
34
|
}
|
|
@@ -16,7 +16,7 @@ function ConcreteStyleCustomizerCustomCss($element, options) {
|
|
|
16
16
|
url: ''
|
|
17
17
|
},
|
|
18
18
|
i18n: {
|
|
19
|
-
editTitle: 'Custom CSS'
|
|
19
|
+
editTitle: window.ccmi18n_styleCustomizer && window.ccmi18n_styleCustomizer.customCSS ? window.ccmi18n_styleCustomizer.customCSS : 'Custom CSS'
|
|
20
20
|
}
|
|
21
21
|
}, options || {})
|
|
22
22
|
$element
|
|
@@ -46,12 +46,19 @@ function ConcreteTypographySelector($element, options) {
|
|
|
46
46
|
})
|
|
47
47
|
|
|
48
48
|
my.$colorpicker = my.$widget.find('input[data-style-customizer-field=color]')
|
|
49
|
+
const i18n = window.ccmi18n_styleCustomizer || null
|
|
49
50
|
my.$colorpicker.spectrum({
|
|
50
51
|
preferredFormat: 'rgb',
|
|
51
52
|
showAlpha: true,
|
|
52
53
|
className: 'ccm-widget-colorpicker',
|
|
53
54
|
showInitial: true,
|
|
54
|
-
showInput: true
|
|
55
|
+
showInput: true,
|
|
56
|
+
cancelText: i18n && i18n.cancel ? i18n.cancel : 'Cancel',
|
|
57
|
+
chooseText: i18n && i18n.choose ? i18n.choose : 'Choose',
|
|
58
|
+
clearText: i18n && i18n.clearColorSelection ? i18n.clearColorSelection : 'Clear Color Selection',
|
|
59
|
+
noColorSelectedText: i18n && i18n.noColorSelected ? i18n.noColorSelected : 'No Color Selected',
|
|
60
|
+
togglePaletteMoreText: i18n && i18n.togglePaletteMore ? i18n.togglePaletteMore : 'More',
|
|
61
|
+
togglePaletteLessText: i18n && i18n.togglePaletteLess ? i18n.togglePaletteLess : 'Less'
|
|
55
62
|
})
|
|
56
63
|
|
|
57
64
|
my.$fontMenu.on('change', function() {
|
|
@@ -17,14 +17,7 @@ class ConcreteFileManager {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
if (options.filters.length > 0) {
|
|
20
|
-
data
|
|
21
|
-
|
|
22
|
-
for (i = 0; i < options.filters.length; i++) {
|
|
23
|
-
var filter = $.extend(true, {}, options.filters[i]) // clone
|
|
24
|
-
data['field[]'].push(filter.field)
|
|
25
|
-
delete (filter.field)
|
|
26
|
-
$.extend(data, filter) // add all remaining fields to the data
|
|
27
|
-
}
|
|
20
|
+
data.filters = options.filters
|
|
28
21
|
}
|
|
29
22
|
|
|
30
23
|
$.fn.dialog.open({
|
|
@@ -14,12 +14,12 @@ html.ccm-panel-detail-open {
|
|
|
14
14
|
div.ccm-panel {
|
|
15
15
|
background-color: $panel-background-color;
|
|
16
16
|
height: 100%;
|
|
17
|
-
/* overflow: hidden; */ /* This causes problems with floating palettes inside the panels. So let's only apply this during transitions */
|
|
18
17
|
position: fixed;
|
|
19
18
|
top: 0;
|
|
20
19
|
user-select: none;
|
|
21
20
|
width: 320px;
|
|
22
21
|
z-index: $index-level-panel; // has to come above the detail actions wrapper
|
|
22
|
+
/* overflow: hidden; */ /* This causes problems with floating palettes inside the panels. So let's only apply this during transitions */
|
|
23
23
|
div.ccm-panel-close {
|
|
24
24
|
position: absolute;
|
|
25
25
|
right: 17px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@concretecms/bedrock",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "The asset framework and dependencies for Concrete CMS.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"lint": "standardx \"**/*.{js,vue}\" && stylelint assets/**/*.{scss,vue}",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"bootbox": "^5.5.1",
|
|
21
21
|
"bootstrap": "^5.0.1",
|
|
22
22
|
"bootstrap-select": "^1.14.0-beta2",
|
|
23
|
-
"bootstrap-tourist": "https://github.com/concrete5/bootstrap-tourist.git",
|
|
24
|
-
"ckeditor4": "^4.
|
|
23
|
+
"bootstrap-tourist": "git+https://git@github.com/concrete5/bootstrap-tourist.git",
|
|
24
|
+
"ckeditor4": "^4.17.1",
|
|
25
25
|
"ckeditor4-vue": "^1.3.2",
|
|
26
26
|
"dropzone": "^5.7.2",
|
|
27
27
|
"fullcalendar": "^3.10.2",
|