From 0ebb0de3ddda7f8762ad77aa616047b68ac4b47c Mon Sep 17 00:00:00 2001 From: lotte Date: Tue, 19 Feb 2019 14:49:26 +0100 Subject: [PATCH] 59334: edit metadata finetuning --- .../edit-item-page.component.html | 7 +- .../edit-item-page.component.scss | 5 + .../edit-item-page.component.ts | 5 + .../edit-item-page/edit-item-page.module.ts | 2 + .../edit-item-page.routing.module.ts | 8 +- .../item-bitstreams.component.html | 3 + .../item-bitstreams.component.scss | 1 + .../item-bitstreams.component.ts | 13 ++ .../edit-in-place-field.component.html | 87 +++++++------- .../edit-in-place-field.component.scss | 9 ++ .../edit-in-place-field.component.spec.ts | 76 ++++++------ .../edit-in-place-field.component.ts | 5 +- .../item-metadata.component.html | 111 ++++++++++-------- .../item-metadata.component.scss | 15 ++- .../item-metadata/item-metadata.component.ts | 9 +- .../item-status/item-status.component.html | 2 +- .../item-status/item-status.component.ts | 23 ++-- src/app/core/core.module.ts | 2 + .../data/default-change-analyzer.service.ts | 29 +++++ .../core/data/metadata-schema-data.service.ts | 4 +- .../core/metadata/metadata.service.spec.ts | 1 + src/styles/_bootstrap_variables.scss | 1 - src/styles/_custom_variables.scss | 4 +- 23 files changed, 258 insertions(+), 164 deletions(-) create mode 100644 src/app/+item-page/edit-item-page/edit-item-page.component.scss create mode 100644 src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html create mode 100644 src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss create mode 100644 src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts create mode 100644 src/app/core/data/default-change-analyzer.service.ts diff --git a/src/app/+item-page/edit-item-page/edit-item-page.component.html b/src/app/+item-page/edit-item-page/edit-item-page.component.html index f580d21d18..ca1c809cd9 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.component.html +++ b/src/app/+item-page/edit-item-page/edit-item-page.component.html @@ -7,13 +7,16 @@
- +
+ +
+ Cancel
diff --git a/src/app/+item-page/edit-item-page/edit-item-page.component.scss b/src/app/+item-page/edit-item-page/edit-item-page.component.scss new file mode 100644 index 0000000000..f22ca8f8de --- /dev/null +++ b/src/app/+item-page/edit-item-page/edit-item-page.component.scss @@ -0,0 +1,5 @@ +@import '../../../styles/variables.scss'; + +.btn { + min-width: $edit-item-button-min-width; +} diff --git a/src/app/+item-page/edit-item-page/edit-item-page.component.ts b/src/app/+item-page/edit-item-page/edit-item-page.component.ts index d7ab3ea199..efde7c52fb 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.component.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.component.ts @@ -6,6 +6,7 @@ import { Item } from '../../core/shared/item.model'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { isNotEmpty } from '../../shared/empty.util'; +import { getItemPageRoute } from '../item-page-routing.module'; @Component({ selector: 'ds-edit-item-page', @@ -48,4 +49,8 @@ export class EditItemPageComponent implements OnInit { .filter((path: string) => isNotEmpty(path)); // ignore reroutes this.itemRD$ = this.route.data.pipe(map((data) => data.item)); } + + getItemPage(item: Item): string { + return getItemPageRoute(item.id) + } } diff --git a/src/app/+item-page/edit-item-page/edit-item-page.module.ts b/src/app/+item-page/edit-item-page/edit-item-page.module.ts index 98904517f9..0c1de642ce 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.module.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.module.ts @@ -14,6 +14,7 @@ import { ItemPublicComponent } from './item-public/item-public.component'; import { ItemDeleteComponent } from './item-delete/item-delete.component'; import { ItemMetadataComponent } from './item-metadata/item-metadata.component'; import { EditInPlaceFieldComponent } from './item-metadata/edit-in-place-field/edit-in-place-field.component'; +import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; /** * Module that contains all components related to the Edit Item page administrator functionality @@ -36,6 +37,7 @@ import { EditInPlaceFieldComponent } from './item-metadata/edit-in-place-field/e ItemDeleteComponent, ItemStatusComponent, ItemMetadataComponent, + ItemBitstreamsComponent, EditInPlaceFieldComponent ] }) diff --git a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts index 8a45c42ff6..48fd6ceb9b 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts @@ -9,6 +9,7 @@ import { ItemPublicComponent } from './item-public/item-public.component'; import { ItemDeleteComponent } from './item-delete/item-delete.component'; import { ItemStatusComponent } from './item-status/item-status.component'; import { ItemMetadataComponent } from './item-metadata/item-metadata.component'; +import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; const ITEM_EDIT_WITHDRAW_PATH = 'withdraw'; const ITEM_EDIT_REINSTATE_PATH = 'reinstate'; @@ -39,8 +40,7 @@ const ITEM_EDIT_DELETE_PATH = 'delete'; }, { path: 'bitstreams', - /* TODO - change when bitstreams page exists */ - component: ItemStatusComponent + component: ItemBitstreamsComponent }, { path: 'metadata', @@ -49,12 +49,12 @@ const ITEM_EDIT_DELETE_PATH = 'delete'; { path: 'view', /* TODO - change when view page exists */ - component: ItemStatusComponent + component: ItemBitstreamsComponent }, { path: 'curate', /* TODO - change when curate page exists */ - component: ItemStatusComponent + component: ItemBitstreamsComponent }, ] }, diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html new file mode 100644 index 0000000000..b80e6e0678 --- /dev/null +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html @@ -0,0 +1,3 @@ +
+ +
diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss new file mode 100644 index 0000000000..88eb98509a --- /dev/null +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss @@ -0,0 +1 @@ +@import '../../../../styles/variables.scss'; \ No newline at end of file diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts new file mode 100644 index 0000000000..71f25cd5cf --- /dev/null +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'ds-item-bitstreams', + styleUrls: ['./item-bitstreams.component.scss'], + templateUrl: './item-bitstreams.component.html', +}) +/** + * Component for displaying an item's bitstreams edit page + */ +export class ItemBitstreamsComponent { + /* TODO implement */ +} diff --git a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html index 25f586d0ed..44c6cf2258 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html +++ b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html @@ -1,11 +1,6 @@ - -
- - + + + {{"item.edit.metadata.metadatafield.invalid" | translate}} - - -
- {{metadata?.value}} -
-
+
+ + +
+ {{metadata?.value}} +
+
-
- - -
- {{metadata?.language}} -
-
- -
- - -
- - - - -
- -
\ No newline at end of file + + + +
+ {{metadata?.language}} +
+
+ +
+ + +
+ + + + +
+ \ No newline at end of file diff --git a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss index 3575cae797..65bdbc38e0 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss +++ b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss @@ -1 +1,10 @@ @import '../../../../../styles/variables.scss'; +.btn[disabled] { + color: $gray-600; + border-color: $gray-600; + z-index: 0; // prevent border colors jumping on hover +} + +.metadata-field { + width: $edit-item-metadata-field-width; +} \ No newline at end of file diff --git a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.spec.ts b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.spec.ts index cefbb3620a..133ee19e43 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.spec.ts @@ -400,66 +400,64 @@ describe('EditInPlaceFieldComponent', () => { }); describe('canRemove', () => { - describe('when editable is currently true', () => { + describe('when the fieldUpdate\'s changeType is currently not REMOVE or ADD', () => { beforeEach(() => { - comp.editable = observableOf(true); - fixture.detectChanges(); + comp.fieldUpdate.changeType = FieldChangeType.UPDATE; + }); + it('canRemove should return an observable emitting true', () => { + const expected = '(a|)'; + scheduler.expectObservable(comp.canRemove()).toBe(expected, { a: true }); + }); + }); + + describe('when the fieldUpdate\'s changeType is currently ADD', () => { + beforeEach(() => { + comp.fieldUpdate.changeType = FieldChangeType.ADD; }); it('canRemove should return an observable emitting false', () => { const expected = '(a|)'; scheduler.expectObservable(comp.canRemove()).toBe(expected, { a: false }); }); - }); - - describe('when editable is currently false', () => { - beforeEach(() => { - comp.editable = observableOf(false); - }); - - describe('when the fieldUpdate\'s changeType is currently not REMOVE or ADD', () => { - beforeEach(() => { - comp.fieldUpdate.changeType = FieldChangeType.UPDATE; - }); - it('canRemove should return an observable emitting true', () => { - const expected = '(a|)'; - scheduler.expectObservable(comp.canRemove()).toBe(expected, { a: true }); - }); - }); - - describe('when the fieldUpdate\'s changeType is currently ADD', () => { - beforeEach(() => { - comp.fieldUpdate.changeType = FieldChangeType.ADD; - }); - it('canRemove should return an observable emitting false', () => { - const expected = '(a|)'; - scheduler.expectObservable(comp.canRemove()).toBe(expected, { a: false }); - }); - }) - }); + }) }); describe('canUndo', () => { - describe('when the fieldUpdate\'s changeType is currently ADD, UPDATE or REMOVE', () => { + describe('when editable is currently true', () => { beforeEach(() => { - comp.fieldUpdate.changeType = FieldChangeType.ADD; + comp.editable = observableOf(true); + comp.fieldUpdate.changeType = undefined; + fixture.detectChanges(); }); - it('canUndo should return an observable emitting true', () => { const expected = '(a|)'; scheduler.expectObservable(comp.canUndo()).toBe(expected, { a: true }); }); }); - describe('when the fieldUpdate\'s changeType is currently undefined', () => { - beforeEach(() => { - comp.fieldUpdate.changeType = undefined; + describe('when editable is currently false', () => { + describe('when the fieldUpdate\'s changeType is currently ADD, UPDATE or REMOVE', () => { + beforeEach(() => { + comp.fieldUpdate.changeType = FieldChangeType.ADD; + }); + + it('canUndo should return an observable emitting true', () => { + const expected = '(a|)'; + scheduler.expectObservable(comp.canUndo()).toBe(expected, { a: true }); + }); }); - it('canUndo should return an observable emitting false', () => { - const expected = '(a|)'; - scheduler.expectObservable(comp.canUndo()).toBe(expected, { a: false }); + describe('when the fieldUpdate\'s changeType is currently undefined', () => { + beforeEach(() => { + comp.fieldUpdate.changeType = undefined; + }); + + it('canUndo should return an observable emitting false', () => { + const expected = '(a|)'; + scheduler.expectObservable(comp.canUndo()).toBe(expected, { a: false }); + }); }); }); + }); }); diff --git a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts index f24de359b8..7d4922de43 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts +++ b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts @@ -14,7 +14,8 @@ import { getSucceededRemoteData } from '../../../../core/shared/operators'; import { FormControl } from '@angular/forms'; @Component({ - selector: 'ds-edit-in-place-field', + // tslint:disable-next-line:component-selector + selector: '[ds-edit-in-place-field]', styleUrls: ['./edit-in-place-field.component.scss'], templateUrl: './edit-in-place-field.component.html', }) @@ -131,7 +132,7 @@ export class EditInPlaceFieldComponent implements OnInit, OnChanges { (fields: MetadataField[]) => this.metadataFieldSuggestions.next( fields.map((field: MetadataField) => { return { - displayValue: field.toString(), + displayValue: field.toString().split('.').join('.​'), value: field.toString() } }) diff --git a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.html b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.html index 04896ee4a6..bb0c188f05 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.html +++ b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.html @@ -1,56 +1,63 @@ -
- diff --git a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss index 1ae2839606..f3075702e6 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss +++ b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss @@ -1,13 +1,22 @@ @import '../../../../styles/variables.scss'; .button-row { - .spaced-btn-group > .btn { + .btn { margin-right: 0.5 * $spacer; + &:last-child { margin-right: 0; } + + @media screen and (min-width: map-get($grid-breakpoints, sm)) { + min-width: $edit-item-button-min-width; + } } - .btn { - min-width: $button-min-width; + + &.top .btn { + margin-top: $spacer/2; + margin-bottom: $spacer/2; } + + } \ No newline at end of file diff --git a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.ts b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.ts index 380e05c334..46098ff69d 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.ts +++ b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.ts @@ -57,6 +57,9 @@ export class ItemMetadataComponent implements OnInit { } + /** + * Set up and initialize all fields + */ ngOnInit(): void { this.route.parent.data.pipe(map((data) => data.item)) .pipe( @@ -116,8 +119,10 @@ export class ItemMetadataComponent implements OnInit { this.objectUpdatesService.initialize(this.url, this.item.metadata, this.item.lastModified); } - /* Prevent unnecessary rerendering so fields don't lose focus **/ - protected trackUpdate(index, update: FieldUpdate) { + /** + * Prevent unnecessary rerendering so fields don't lose focus + */ + trackUpdate(index, update: FieldUpdate) { return update && update.field ? update.field.uuid : undefined; } diff --git a/src/app/+item-page/edit-item-page/item-status/item-status.component.html b/src/app/+item-page/edit-item-page/item-status/item-status.component.html index 0f7d9a5607..e60fa0490d 100644 --- a/src/app/+item-page/edit-item-page/item-status/item-status.component.html +++ b/src/app/+item-page/edit-item-page/item-status/item-status.component.html @@ -12,7 +12,7 @@ {{'item.edit.tabs.status.labels.itemPage' | translate}}:
- {{getItemPage()}} + {{getItemPage((itemRD$ | async)?.payload)}}
diff --git a/src/app/+item-page/edit-item-page/item-status/item-status.component.ts b/src/app/+item-page/edit-item-page/item-status/item-status.component.ts index 28cd23a5fe..b9a9e4a2f3 100644 --- a/src/app/+item-page/edit-item-page/item-status/item-status.component.ts +++ b/src/app/+item-page/edit-item-page/item-status/item-status.component.ts @@ -6,6 +6,7 @@ import { ItemOperation } from '../item-operation/itemOperation.model'; import { first, map } from 'rxjs/operators'; import { Observable } from 'rxjs'; import { RemoteData } from '../../../core/data/remote-data'; +import { getItemEditPath, getItemPageRoute } from '../../item-page-routing.module'; @Component({ selector: 'ds-item-status', @@ -68,16 +69,16 @@ export class ItemStatusComponent implements OnInit { */ this.operations = []; if (item.isWithdrawn) { - this.operations.push(new ItemOperation('reinstate', this.getCurrentUrl() + '/reinstate')); + this.operations.push(new ItemOperation('reinstate', this.getCurrentUrl(item) + '/reinstate')); } else { - this.operations.push(new ItemOperation('withdraw', this.getCurrentUrl() + '/withdraw')); + this.operations.push(new ItemOperation('withdraw', this.getCurrentUrl(item) + '/withdraw')); } if (item.isDiscoverable) { - this.operations.push(new ItemOperation('private', this.getCurrentUrl() + '/private')); + this.operations.push(new ItemOperation('private', this.getCurrentUrl(item) + '/private')); } else { - this.operations.push(new ItemOperation('public', this.getCurrentUrl() + '/public')); + this.operations.push(new ItemOperation('public', this.getCurrentUrl(item) + '/public')); } - this.operations.push(new ItemOperation('delete', this.getCurrentUrl() + '/delete')); + this.operations.push(new ItemOperation('delete', this.getCurrentUrl(item) + '/delete')); }); } @@ -86,20 +87,16 @@ export class ItemStatusComponent implements OnInit { * Get the url to the simple item page * @returns {string} url */ - getItemPage(): string { - return this.router.url.substr(0, this.router.url.lastIndexOf('/')); + getItemPage(item: Item): string { + return getItemPageRoute(item.id) } /** * Get the current url without query params * @returns {string} url */ - getCurrentUrl(): string { - if (this.router.url.indexOf('?') > -1) { - return this.router.url.substr(0, this.router.url.indexOf('?')); - } else { - return this.router.url; - } + getCurrentUrl(item: Item): string { + return getItemEditPath(item.id); } } diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 1039ded993..357f552074 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -68,6 +68,7 @@ import { MenuService } from '../shared/menu/menu.service'; import { NormalizedObjectBuildService } from './cache/builders/normalized-object-build.service'; import { DSOChangeAnalyzer } from './data/dso-change-analyzer.service'; import { ObjectUpdatesService } from './data/object-updates/object-updates.service'; +import { DefaultChangeAnalyzer } from './data/default-change-analyzer.service'; const IMPORTS = [ CommonModule, @@ -133,6 +134,7 @@ const PROVIDERS = [ UUIDService, DSpaceObjectDataService, DSOChangeAnalyzer, + DefaultChangeAnalyzer, CSSVariableService, MenuService, ObjectUpdatesService, diff --git a/src/app/core/data/default-change-analyzer.service.ts b/src/app/core/data/default-change-analyzer.service.ts new file mode 100644 index 0000000000..1fd207d2bf --- /dev/null +++ b/src/app/core/data/default-change-analyzer.service.ts @@ -0,0 +1,29 @@ +import { Operation } from 'fast-json-patch/lib/core'; +import { compare } from 'fast-json-patch'; +import { ChangeAnalyzer } from './change-analyzer'; +import { NormalizedDSpaceObject } from '../cache/models/normalized-dspace-object.model'; +import { Injectable } from '@angular/core'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { CacheableObject } from '../cache/object-cache.reducer'; +import { NormalizedObject } from '../cache/models/normalized-object.model'; + +/** + * A class to determine what differs between two + * CacheableObjects + */ +@Injectable() +export class DefaultChangeAnalyzer implements ChangeAnalyzer { + + /** + * Compare the metadata of two CacheableObject and return the differences as + * a JsonPatch Operation Array + * + * @param {NormalizedObject} object1 + * The first object to compare + * @param {NormalizedObject} object2 + * The second object to compare + */ + diff(object1: T | NormalizedObject, object2: T | NormalizedObject): Operation[] { + return compare(object1, object2); + } +} diff --git a/src/app/core/data/metadata-schema-data.service.ts b/src/app/core/data/metadata-schema-data.service.ts index 7f17ad9cf1..ab5b859530 100644 --- a/src/app/core/data/metadata-schema-data.service.ts +++ b/src/app/core/data/metadata-schema-data.service.ts @@ -11,10 +11,10 @@ import { HALEndpointService } from '../shared/hal-endpoint.service'; import { FindAllOptions } from './request.models'; import { ObjectCacheService } from '../cache/object-cache.service'; import { MetadataSchema } from '../metadata/metadataschema.model'; -import { ChangeAnalyzer } from './change-analyzer'; import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service'; import { HttpClient } from '@angular/common/http'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; @Injectable() export class MetadataSchemaDataService extends DataService { @@ -27,7 +27,7 @@ export class MetadataSchemaDataService extends DataService { private bs: BrowseService, protected halService: HALEndpointService, protected objectCache: ObjectCacheService, - protected comparator: ChangeAnalyzer, + protected comparator: DefaultChangeAnalyzer, protected dataBuildService: NormalizedObjectBuildService, protected http: HttpClient, protected notificationsService: NotificationsService) { diff --git a/src/app/core/metadata/metadata.service.spec.ts b/src/app/core/metadata/metadata.service.spec.ts index 1841fba6a0..25579a0690 100644 --- a/src/app/core/metadata/metadata.service.spec.ts +++ b/src/app/core/metadata/metadata.service.spec.ts @@ -228,6 +228,7 @@ describe('MetadataService', () => { const mockPublisher = (mockItem: Item): Item => { const publishedMockItem = Object.assign(new Item(), mockItem) as Item; publishedMockItem.metadata.push({ + uuid: 'b3826cf5-5f07-44cf-88d8-2da968354d18', key: 'dc.publisher', language: 'en_US', value: 'Mock Publisher' diff --git a/src/styles/_bootstrap_variables.scss b/src/styles/_bootstrap_variables.scss index d24811b382..7be76ff5d3 100644 --- a/src/styles/_bootstrap_variables.scss +++ b/src/styles/_bootstrap_variables.scss @@ -19,7 +19,6 @@ $gray-700: lighten($gray-base, 46.6%) !default; // #777 $gray-600: lighten($gray-base, 73.3%) !default; // #bbb $gray-100: lighten($gray-base, 93.5%) !default; // #eee - /* Reassign color vars to semantic color scheme */ $blue: #2B4E72 !default; $green: #94BA65 !default; diff --git a/src/styles/_custom_variables.scss b/src/styles/_custom_variables.scss index dda018ad2c..05387e8740 100644 --- a/src/styles/_custom_variables.scss +++ b/src/styles/_custom_variables.scss @@ -1,7 +1,6 @@ $content-spacing: $spacer * 1.5; $button-height: $input-btn-padding-y * 2 + $input-btn-line-height + calculateRem($input-btn-border-width*2); -$button-min-width: 100px; $card-height-percentage:98%; $card-thumbnail-height:240px; @@ -24,3 +23,6 @@ $admin-sidebar-header-bg: darken($dark, 7%); $dark-scrollbar-background: $admin-sidebar-active-bg; $dark-scrollbar-foreground: #47495d; + +$edit-item-button-min-width: 100px; +$edit-item-metadata-field-width: 190px; \ No newline at end of file