learningtribes-studio-frontend 1.4.2-alpha.0 → 1.4.2-alpha.2
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/dist/accessibilityPolicy.min.js +2 -2
- package/dist/assets.min.css +1 -1
- package/dist/assets.min.js +1 -1
- package/dist/assets.min.js.map +1 -1
- package/dist/common.min.css +2 -2
- package/dist/common.min.js +9 -9
- package/dist/common.min.js.map +1 -1
- package/dist/courseHealthCheck.min.js +1 -1
- package/dist/courseOutlineHealthCheck.min.js +1 -1
- package/dist/editImageModal.min.css +1 -1
- package/dist/editImageModal.min.js +1 -1
- package/dist/editImageModal.min.js.map +1 -1
- package/dist/i18n/messages/ar.json +0 -3
- package/dist/i18n/messages/es_419.json +0 -3
- package/dist/i18n/messages/fr.json +0 -3
- package/dist/i18n/messages/zh_CN.json +0 -3
- package/dist/i18nMessages.min.js +1 -1
- package/dist/i18nMessages.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AssetsDropZone/AssetsDropZone.scss +49 -59
- package/src/components/AssetsDropZone/AssetsDropZone.test.jsx +1 -1
- package/src/components/AssetsDropZone/index.jsx +15 -19
- package/src/components/AssetsList/AssetsList.scss +48 -41
- package/src/components/AssetsList/index.jsx +9 -4
- package/src/components/EditImageModal/EditImageModal.scss +59 -35
- package/src/components/EditImageModal/EditImageModal.test.jsx +27 -176
- package/src/components/EditImageModal/displayMessages.jsx +6 -16
- package/src/components/EditImageModal/index.jsx +40 -88
- package/src/data/i18n/default/transifex_input.json +3 -5
- package/src/data/i18n/locales/ar.json +0 -3
- package/src/data/i18n/locales/es_419.json +0 -3
- package/src/data/i18n/locales/fr.json +0 -3
- package/src/data/i18n/locales/zh_CN.json +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, CheckBox, Fieldset,
|
|
1
|
+
import { Button, CheckBox, Fieldset, InputText, Modal, StatusAlert, Variant } from '@edx/paragon';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { connect } from 'react-redux';
|
|
4
4
|
import FontAwesomeStyles from 'font-awesome/css/font-awesome.min.css';
|
|
@@ -16,7 +16,6 @@ import WrappedAssetsDropZone from '../AssetsDropZone/container';
|
|
|
16
16
|
import WrappedAssetsList from '../AssetsList/container';
|
|
17
17
|
import WrappedAssetsSearch from '../AssetsSearch/container';
|
|
18
18
|
import WrappedMessage from '../../utils/i18n/formattedMessageWrapper';
|
|
19
|
-
import WrappedPagination from '../Pagination/container';
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
// Create an AssetsResultsCount that is not aware of the Images filter.
|
|
@@ -51,7 +50,6 @@ const initialEditImageModalState = {
|
|
|
51
50
|
imageDimensions: {},
|
|
52
51
|
imageSource: '',
|
|
53
52
|
imageStyle: '',
|
|
54
|
-
isImageDecorative: false,
|
|
55
53
|
isImageDescriptionValid: true,
|
|
56
54
|
isImageLoaded: false,
|
|
57
55
|
isImageLoading: false,
|
|
@@ -59,6 +57,7 @@ const initialEditImageModalState = {
|
|
|
59
57
|
isModalOpen: false,
|
|
60
58
|
isStatusAlertOpen: false,
|
|
61
59
|
pageNumber: 1,
|
|
60
|
+
editingExisting: false,
|
|
62
61
|
shouldShowPreviousButton: false,
|
|
63
62
|
};
|
|
64
63
|
|
|
@@ -74,7 +73,6 @@ export default class EditImageModal extends React.Component {
|
|
|
74
73
|
this.onImageDescriptionBlur = this.onImageDescriptionBlur.bind(this);
|
|
75
74
|
this.onImageDimensionBlur = this.onImageDimensionBlur.bind(this);
|
|
76
75
|
this.onInsertImageButtonClick = this.onInsertImageButtonClick.bind(this);
|
|
77
|
-
this.onImageIsDecorativeClick = this.onImageIsDecorativeClick.bind(this);
|
|
78
76
|
this.onImageLoad = this.onImageLoad.bind(this);
|
|
79
77
|
this.onNextPageButtonClick = this.onNextPageButtonClick.bind(this);
|
|
80
78
|
this.onPreviousPageButtonClick = this.onPreviousPageButtonClick.bind(this);
|
|
@@ -125,12 +123,27 @@ export default class EditImageModal extends React.Component {
|
|
|
125
123
|
break;
|
|
126
124
|
}
|
|
127
125
|
default: {
|
|
128
|
-
if (nextProps.selectedAsset.portable_url
|
|
126
|
+
if (nextProps.selectedAsset.portable_url &&
|
|
127
|
+
nextProps.selectedAsset.id !== this.props.selectedAsset.id) {
|
|
129
128
|
newState.imageSource = nextProps.selectedAsset.portable_url;
|
|
130
129
|
}
|
|
131
130
|
break;
|
|
132
131
|
}
|
|
133
132
|
}
|
|
133
|
+
|
|
134
|
+
if (nextProps.assetsStatus.type !== assetActions.upload.UPLOAD_ASSET_SUCCESS &&
|
|
135
|
+
!nextProps.selectedAsset.id && this.state.imageSource && nextProps.assetsList.length) {
|
|
136
|
+
const source = this.state.imageSource;
|
|
137
|
+
const match = nextProps.assetsList.find(asset => (
|
|
138
|
+
asset.id && (
|
|
139
|
+
asset.portable_url === source || asset.url === source || asset.external_url === source
|
|
140
|
+
)
|
|
141
|
+
));
|
|
142
|
+
if (match) {
|
|
143
|
+
nextProps.selectAsset(match);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
134
147
|
this.setState(state => ({
|
|
135
148
|
...newState,
|
|
136
149
|
assetsPageType: getPageType(nextProps, state.assetsPageType),
|
|
@@ -167,12 +180,6 @@ export default class EditImageModal extends React.Component {
|
|
|
167
180
|
));
|
|
168
181
|
}
|
|
169
182
|
|
|
170
|
-
onImageIsDecorativeClick = (checked) => {
|
|
171
|
-
this.setState({
|
|
172
|
-
isImageDecorative: checked,
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
|
|
176
183
|
onImageLoad = (event) => {
|
|
177
184
|
const img = event.target;
|
|
178
185
|
|
|
@@ -277,6 +284,7 @@ export default class EditImageModal extends React.Component {
|
|
|
277
284
|
if (isValidFormContent) {
|
|
278
285
|
// Use the form ref if available, otherwise dispatch from modal wrapper
|
|
279
286
|
const targetElement = this.imageFormRef || this.modalWrapperRef;
|
|
287
|
+
const altText = this.state.imageDescription || '';
|
|
280
288
|
targetElement.dispatchEvent(new CustomEvent('submitForm',
|
|
281
289
|
{
|
|
282
290
|
bubbles: true,
|
|
@@ -284,7 +292,7 @@ export default class EditImageModal extends React.Component {
|
|
|
284
292
|
height: this.getDimensionStateOrNatural('height'),
|
|
285
293
|
width: this.getDimensionStateOrNatural('width'),
|
|
286
294
|
src: this.state.imageSource,
|
|
287
|
-
alt:
|
|
295
|
+
alt: altText,
|
|
288
296
|
style: this.state.imageStyle,
|
|
289
297
|
},
|
|
290
298
|
},
|
|
@@ -389,27 +397,9 @@ export default class EditImageModal extends React.Component {
|
|
|
389
397
|
id={imageDescriptionID}
|
|
390
398
|
type="text"
|
|
391
399
|
value={this.state.imageDescription}
|
|
392
|
-
disabled={this.state.isImageDecorative}
|
|
393
400
|
onBlur={this.onImageDescriptionBlur}
|
|
394
401
|
inputRef={this.setImageDescriptionInputRef}
|
|
395
402
|
/>
|
|
396
|
-
<div className="or-fields">
|
|
397
|
-
<WrappedMessage
|
|
398
|
-
message={messages.editImageModalImageOrFields}
|
|
399
|
-
/>
|
|
400
|
-
</div>
|
|
401
|
-
<CheckBox
|
|
402
|
-
id="isDecorative"
|
|
403
|
-
name="isDecorative"
|
|
404
|
-
label={
|
|
405
|
-
<WrappedMessage
|
|
406
|
-
message={messages.editImageModalImageIsDecorativeCheckboxLabel}
|
|
407
|
-
/>
|
|
408
|
-
}
|
|
409
|
-
description={this.getImageIsDecorativeDescription()}
|
|
410
|
-
checked={this.state.isImageDecorative}
|
|
411
|
-
onChange={this.onImageIsDecorativeClick}
|
|
412
|
-
/>
|
|
413
403
|
</Fieldset>
|
|
414
404
|
);
|
|
415
405
|
|
|
@@ -434,14 +424,8 @@ export default class EditImageModal extends React.Component {
|
|
|
434
424
|
<WrappedMessage message={messages.editImageModalImageDescriptionDescription} />
|
|
435
425
|
{' '}
|
|
436
426
|
{this.getLearnMoreLink()}
|
|
437
|
-
</React.Fragment>
|
|
438
|
-
);
|
|
439
|
-
|
|
440
|
-
getImageIsDecorativeDescription = () => (
|
|
441
|
-
<React.Fragment>
|
|
442
|
-
<WrappedMessage message={messages.editImageModalImageIsDecorativeCheckboxDescription} />
|
|
443
427
|
{' '}
|
|
444
|
-
{
|
|
428
|
+
<WrappedMessage message={messages.editImageModalImageDecorativeDescription} />
|
|
445
429
|
</React.Fragment>
|
|
446
430
|
);
|
|
447
431
|
|
|
@@ -456,8 +440,8 @@ export default class EditImageModal extends React.Component {
|
|
|
456
440
|
}}
|
|
457
441
|
variantIconDescription={<WrappedMessage message={messages.editImageModalFormError} />}
|
|
458
442
|
>
|
|
459
|
-
<div className=
|
|
460
|
-
<div className=
|
|
443
|
+
<div className={styles['dimensions-row']}>
|
|
444
|
+
<div className={styles['dimension-field']}>
|
|
461
445
|
<InputText
|
|
462
446
|
name="imageWidth"
|
|
463
447
|
label={
|
|
@@ -471,10 +455,8 @@ export default class EditImageModal extends React.Component {
|
|
|
471
455
|
onBlur={this.onImageDimensionBlur('width')}
|
|
472
456
|
/>
|
|
473
457
|
</div>
|
|
474
|
-
<
|
|
475
|
-
|
|
476
|
-
</div>
|
|
477
|
-
<div className="col">
|
|
458
|
+
<span className={styles['dimensions-separator']} aria-hidden="true">x</span>
|
|
459
|
+
<div className={styles['dimension-field']}>
|
|
478
460
|
<InputText
|
|
479
461
|
name={imageHeightID}
|
|
480
462
|
label={
|
|
@@ -593,16 +575,16 @@ export default class EditImageModal extends React.Component {
|
|
|
593
575
|
|
|
594
576
|
getModalHeader = () => {
|
|
595
577
|
let header;
|
|
596
|
-
if (this.state.pageNumber ===
|
|
578
|
+
if (this.state.pageNumber === 2 || this.state.editingExisting) {
|
|
597
579
|
header = (
|
|
598
580
|
<WrappedMessage
|
|
599
|
-
message={messages.
|
|
581
|
+
message={messages.editImageModalEditTitle}
|
|
600
582
|
/>
|
|
601
583
|
);
|
|
602
|
-
} else
|
|
584
|
+
} else {
|
|
603
585
|
header = (
|
|
604
586
|
<WrappedMessage
|
|
605
|
-
message={messages.
|
|
587
|
+
message={messages.editImageModalInsertTitle}
|
|
606
588
|
/>
|
|
607
589
|
);
|
|
608
590
|
}
|
|
@@ -628,11 +610,7 @@ export default class EditImageModal extends React.Component {
|
|
|
628
610
|
case pageTypes.NORMAL:
|
|
629
611
|
return (<WrappedAssetsList />);
|
|
630
612
|
case pageTypes.NO_ASSETS:
|
|
631
|
-
return
|
|
632
|
-
<div className="mt-3">
|
|
633
|
-
<WrappedMessage message={messages.editImageModalAssetsListNoAssetsMessage} tagName="h3" />
|
|
634
|
-
</div>
|
|
635
|
-
);
|
|
613
|
+
return null;
|
|
636
614
|
case pageTypes.NO_RESULTS:
|
|
637
615
|
return (
|
|
638
616
|
<React.Fragment>
|
|
@@ -683,14 +661,7 @@ export default class EditImageModal extends React.Component {
|
|
|
683
661
|
{this.getImageSelectionModalBodyAssetsList(this.state.assetsPageType)}
|
|
684
662
|
</div>
|
|
685
663
|
</div>
|
|
686
|
-
{this.
|
|
687
|
-
<div className="row mt-2 no-gutters">
|
|
688
|
-
<div className="col">
|
|
689
|
-
<WrappedPagination />
|
|
690
|
-
</div>
|
|
691
|
-
</div>
|
|
692
|
-
)}
|
|
693
|
-
{this.isAssetSelected() && (
|
|
664
|
+
{(this.isAssetSelected() || this.state.imageSource) && (
|
|
694
665
|
<div className="row mt-3">
|
|
695
666
|
<div className="col">
|
|
696
667
|
{/* Hidden image to load dimensions */}
|
|
@@ -704,7 +675,7 @@ export default class EditImageModal extends React.Component {
|
|
|
704
675
|
style={{ display: 'none' }}
|
|
705
676
|
/>
|
|
706
677
|
)}
|
|
707
|
-
<form ref={this.setImageFormRef}>
|
|
678
|
+
<form className={styles['image-fields']} ref={this.setImageFormRef}>
|
|
708
679
|
{this.getImageDescriptionInput()}
|
|
709
680
|
{this.getImageDimensionsInput()}
|
|
710
681
|
</form>
|
|
@@ -725,7 +696,7 @@ export default class EditImageModal extends React.Component {
|
|
|
725
696
|
{this.getImagePreview()}
|
|
726
697
|
</div>
|
|
727
698
|
<div className="col">
|
|
728
|
-
<form ref={this.setImageFormRef}>
|
|
699
|
+
<form className={styles['image-fields']} ref={this.setImageFormRef}>
|
|
729
700
|
{this.getImageDescriptionInput()}
|
|
730
701
|
{this.getImageDimensionsInput()}
|
|
731
702
|
</form>
|
|
@@ -737,12 +708,7 @@ export default class EditImageModal extends React.Component {
|
|
|
737
708
|
getModalButtons = () => {
|
|
738
709
|
let buttons;
|
|
739
710
|
if (this.state.pageNumber === 1) {
|
|
740
|
-
|
|
741
|
-
if (this.isAssetSelected()) {
|
|
742
|
-
buttons = this.getInsertImageButton();
|
|
743
|
-
} else {
|
|
744
|
-
buttons = this.getNextPageButton();
|
|
745
|
-
}
|
|
711
|
+
buttons = this.getInsertImageButton();
|
|
746
712
|
} else if (this.state.pageNumber === 2) {
|
|
747
713
|
buttons = this.getInsertImageButton();
|
|
748
714
|
}
|
|
@@ -783,6 +749,7 @@ export default class EditImageModal extends React.Component {
|
|
|
783
749
|
/>
|
|
784
750
|
}
|
|
785
751
|
buttonType="primary"
|
|
752
|
+
disabled={!this.isAssetSelected() && !this.state.imageSource}
|
|
786
753
|
onClick={this.onInsertImageButtonClick}
|
|
787
754
|
/>
|
|
788
755
|
);
|
|
@@ -826,34 +793,19 @@ export default class EditImageModal extends React.Component {
|
|
|
826
793
|
} : {},
|
|
827
794
|
imageSource: eventSource || '',
|
|
828
795
|
imageStyle: event.detail.style || '',
|
|
829
|
-
|
|
796
|
+
editingExisting: !isEventSourceEmpty,
|
|
830
797
|
// if existing img had a source, assume it could be loaded and show the image preview
|
|
831
798
|
isImageLoaded: !!eventSource,
|
|
832
799
|
isModalOpen: true,
|
|
833
|
-
pageNumber:
|
|
834
|
-
shouldShowPreviousButton:
|
|
800
|
+
pageNumber: 1,
|
|
801
|
+
shouldShowPreviousButton: false,
|
|
835
802
|
}));
|
|
836
803
|
|
|
837
|
-
|
|
838
|
-
this.props.getAssets({ assetTypes: { Images: true }, pageSize: 4 }, this.props.courseDetails);
|
|
839
|
-
}
|
|
804
|
+
this.props.getAssets({ assetTypes: { Images: true }, pageSize: 1000 }, this.props.courseDetails);
|
|
840
805
|
}
|
|
841
806
|
|
|
842
807
|
validateImageDescription = () => {
|
|
843
|
-
|
|
844
|
-
const { imageDescription, isImageDecorative } = this.state;
|
|
845
|
-
|
|
846
|
-
if (!imageDescription && !isImageDecorative) {
|
|
847
|
-
feedback = {
|
|
848
|
-
isValid: false,
|
|
849
|
-
validationMessage:
|
|
850
|
-
(<WrappedMessage
|
|
851
|
-
message={messages.editImageModalFormValidImageDescription}
|
|
852
|
-
/>),
|
|
853
|
-
dangerIconDescription: <WrappedMessage message={messages.editImageModalFormError} />,
|
|
854
|
-
};
|
|
855
|
-
}
|
|
856
|
-
return feedback;
|
|
808
|
+
return { isValid: true };
|
|
857
809
|
}
|
|
858
810
|
|
|
859
811
|
validateImageDimensions = () => {
|
|
@@ -145,21 +145,19 @@
|
|
|
145
145
|
"editImageModalFormValidImageDescription": "Add an image description or specify that the image is decorative only.",
|
|
146
146
|
"editImageModalFormValidImageDimensions": "Image dimensions must be positive numbers.",
|
|
147
147
|
"editImageModalImageDescriptionDescription": "Alternative text for users who cannot view the image, such as \"The sky with clouds\".",
|
|
148
|
-
"editImageModalImageDescriptionLabel": "Image Description
|
|
148
|
+
"editImageModalImageDescriptionLabel": "Image Description",
|
|
149
|
+
"editImageModalImageDecorativeDescription": "If this image is purely decorative, it does not require alternative text.",
|
|
149
150
|
"editImageModalImageDescriptionLegend": "Image Description",
|
|
150
151
|
"editImageModalDimensionsLegend": "Image Dimensions",
|
|
151
152
|
"editImageModalImageHeight": "Height",
|
|
152
|
-
"editImageModalImageIsDecorativeCheckboxDescription": "This image is a background or other image that does not require alternative text.",
|
|
153
|
-
"editImageModalImageIsDecorativeCheckboxLabel": "This image is decorative only",
|
|
154
153
|
"editImageModalImagePreviewText": "Image Preview",
|
|
155
|
-
"editImageModalInsertImageButton": "
|
|
154
|
+
"editImageModalInsertImageButton": "Save",
|
|
156
155
|
"editImageModalLearnMore": "Learn more.",
|
|
157
156
|
"editImageModalLockImageProportionsCheckboxLabel": "Lock proportions",
|
|
158
157
|
"editImageModalImageWidth": "Width",
|
|
159
158
|
"editImageModalInsertTitle": "Add an Image",
|
|
160
159
|
"editImageModalInsertHeader": "Select a previously uploaded image",
|
|
161
160
|
"editImageModalEditTitle": "Edit Image Settings",
|
|
162
|
-
"editImageModalImageOrFields": "or",
|
|
163
161
|
"editImageModalNextPageButton": "Next",
|
|
164
162
|
"editImageModalPreviousPageButton": "Back",
|
|
165
163
|
"editImageModalInvalidFileType": "Files must be images, such as .jpg, .png, and .tiff files. No files were uploaded.",
|
|
@@ -149,8 +149,6 @@
|
|
|
149
149
|
"editImageModalImageDescriptionLegend": "Image Description",
|
|
150
150
|
"editImageModalDimensionsLegend": "Image Dimensions",
|
|
151
151
|
"editImageModalImageHeight": "Height",
|
|
152
|
-
"editImageModalImageIsDecorativeCheckboxDescription": "This image is a background or other image that does not require alternative text.",
|
|
153
|
-
"editImageModalImageIsDecorativeCheckboxLabel": "This image is decorative only",
|
|
154
152
|
"editImageModalImagePreviewText": "Image Preview",
|
|
155
153
|
"editImageModalInsertImageButton": "Insert Image",
|
|
156
154
|
"editImageModalLearnMore": "Learn more.",
|
|
@@ -159,7 +157,6 @@
|
|
|
159
157
|
"editImageModalInsertTitle": "Add an Image",
|
|
160
158
|
"editImageModalInsertHeader": "Select a previously uploaded image",
|
|
161
159
|
"editImageModalEditTitle": "Edit Image Settings",
|
|
162
|
-
"editImageModalImageOrFields": "or",
|
|
163
160
|
"editImageModalNextPageButton": "Next",
|
|
164
161
|
"editImageModalPreviousPageButton": "Back",
|
|
165
162
|
"editImageModalInvalidFileType": "Files must be images, such as .jpg, .png, and .tiff files. No files were uploaded.",
|
|
@@ -149,8 +149,6 @@
|
|
|
149
149
|
"editImageModalImageDescriptionLegend": "Descripción de la imagen",
|
|
150
150
|
"editImageModalDimensionsLegend": "Dimensiones de la imagen",
|
|
151
151
|
"editImageModalImageHeight": "Altura",
|
|
152
|
-
"editImageModalImageIsDecorativeCheckboxDescription": "Esta imagen es un fondo o otra imagen que no necesita un texto alternativo.",
|
|
153
|
-
"editImageModalImageIsDecorativeCheckboxLabel": "Esta es solo una imagen decorativa",
|
|
154
152
|
"editImageModalImagePreviewText": "Previsualización de Imagen",
|
|
155
153
|
"editImageModalInsertImageButton": "Insertar imagen",
|
|
156
154
|
"editImageModalLearnMore": "Saber más.",
|
|
@@ -159,7 +157,6 @@
|
|
|
159
157
|
"editImageModalInsertTitle": "Añadir una imagen",
|
|
160
158
|
"editImageModalInsertHeader": "Seleccionar una imagen subida anteriormente",
|
|
161
159
|
"editImageModalEditTitle": "Editar ajustes de la imagen",
|
|
162
|
-
"editImageModalImageOrFields": "o",
|
|
163
160
|
"editImageModalNextPageButton": "Siguiente",
|
|
164
161
|
"editImageModalPreviousPageButton": "Volver atrás",
|
|
165
162
|
"editImageModalInvalidFileType": "Los archivos deben ser imágenes, formatos como .jpg, .png, y .tiff. Ningún archivo fue subido.",
|
|
@@ -149,8 +149,6 @@
|
|
|
149
149
|
"editImageModalImageDescriptionLegend": "Description de l'Image",
|
|
150
150
|
"editImageModalDimensionsLegend": "Dimensions de l'image",
|
|
151
151
|
"editImageModalImageHeight": "Hauteur",
|
|
152
|
-
"editImageModalImageIsDecorativeCheckboxDescription": "C'est image de fond ou une autre image ne nécessitant pas de texte alternatif.",
|
|
153
|
-
"editImageModalImageIsDecorativeCheckboxLabel": "Cette image est purement décorative",
|
|
154
152
|
"editImageModalImagePreviewText": "Aperçu de l'image",
|
|
155
153
|
"editImageModalInsertImageButton": "Insérer l'image",
|
|
156
154
|
"editImageModalLearnMore": "En savoir plus.",
|
|
@@ -159,7 +157,6 @@
|
|
|
159
157
|
"editImageModalInsertTitle": "Ajouter une image",
|
|
160
158
|
"editImageModalInsertHeader": "Sélectionner une image chargée précédemment",
|
|
161
159
|
"editImageModalEditTitle": "Modifier les paramètres d'images",
|
|
162
|
-
"editImageModalImageOrFields": "ou",
|
|
163
160
|
"editImageModalNextPageButton": "Suivant",
|
|
164
161
|
"editImageModalPreviousPageButton": "Retour",
|
|
165
162
|
"editImageModalInvalidFileType": "Les fichiers doivent être des images, du type .jpg, png, et .tiff. Aucun fichier n'a été chargé.",
|
|
@@ -148,8 +148,6 @@
|
|
|
148
148
|
"editImageModalImageDescriptionLegend": "图片描述",
|
|
149
149
|
"editImageModalDimensionsLegend": "图片长宽比例",
|
|
150
150
|
"editImageModalImageHeight": "高度",
|
|
151
|
-
"editImageModalImageIsDecorativeCheckboxDescription": "此图像是不需要替代文本的背景或其他图像。",
|
|
152
|
-
"editImageModalImageIsDecorativeCheckboxLabel": "此图片仅为装饰",
|
|
153
151
|
"editImageModalImagePreviewText": "图片预览",
|
|
154
152
|
"editImageModalInsertImageButton": "插入图片",
|
|
155
153
|
"editImageModalLearnMore": "了解更多。",
|
|
@@ -158,7 +156,6 @@
|
|
|
158
156
|
"editImageModalInsertTitle": "添加图片",
|
|
159
157
|
"editImageModalInsertHeader": "选择一张之前上传的图片",
|
|
160
158
|
"editImageModalEditTitle": "编辑图片设置",
|
|
161
|
-
"editImageModalImageOrFields": "或者",
|
|
162
159
|
"editImageModalNextPageButton": "下一步",
|
|
163
160
|
"editImageModalPreviousPageButton": "返回",
|
|
164
161
|
"editImageModalInvalidFileType": "文件必须是图片,例如 .jpg,.png 和 .tiff 文件。没有文件被上传。",
|