This project was generated with Angular CLI version 12.0.4.
๐ Bricks Demo: an online demo showing all the bricks in action. Just pick the desired one from the menu and play with it.
This project is a shell for incubating a number of Cadmus sub-models, implemented as Angular components with their editing UI.
As Cadmus projects increase, the prototype code reveals more and more portions which can be developed as shared, reused UI components: these are the bricks, i.e. sub-model editor components shared by many projects. Each brick or set of bricks is grouped in a single library, which can be imported in your Cadmus frontend project.
โ ๏ธ Note that some of the bricks require additional third-party libraries. See the documentation about each library for details.
๐ Quick Docker image build (the only purpose of this image is letting testers play with controls in the incubator):
npm run build-lib
.- ensure to update the version in
env.js
(anddocker-compose.yml
), andng build --configuration production
. docker build . -t vedph2020/cadmus-bricks-app:3.0.2 -t vedph2020/cadmus-bricks-app:latest
(replace with the current version).
Use publish.bat to publish the libraries to NPM.
๐ More info about some bricks:
- asserted IDs
- codicologic location
- flags picker
- image annotations
- proper name
- reference lookup
- text block view
- text editor helpers
To add a brick:
- add a library project to this workspace:
ng g library @myrmidon/LIBNS-LIBNAME --prefix cadmus-LIBNS
. - add a control in the library.
- add a corresponding host page in the app, with its menu and route.
- 2024-04-09: updated Angular and packages.
- 2024-03-20: updated Angular and packages.
- 2024-02-04: updated Angular.
- 2023-12-27: added DBPedia lookup and proxy interceptor.
- 2023-12-26: updated packages.
- 2023-11-09:
โ ๏ธ upgraded to Angular 17. - 2023-11-04: removed ELF dependencies from
@myrmidon/cadmus-img-gallery
and updated its version to 3.1.0. - 2023-11-03: updated Angular and packages.
- 2023-09-22: updated Angular and packages.
- 2023-08-29: updated Angular and packages.
- 2023-07-30: added
RefLookupSet
.
- 2023-07-16:
@myrmidon/cadmus-refs-asserted-ids
: addedinternalDefault
property to allow starting a new ID as internal rather than external. - 2023-07-14: BREAKING CHANGES in image annotation, switching to Annotorious headless mode. Migration is only partially completed. Affected library versions bumped to version 3.
- 2023-07-10:
- updated Angular.
- minor refactorings in main menu.
- added optional placeholders
.before-list
and.after-list
tocadmus-img-gallery
.
- 2023-07-06:
- in pin target lookup component, fix to label validator required when not external.
- added
defaultPartTypeKey
property to provide a default part type key for target lookup when by type is active. - when calling
getPartFromTypeAndRole
andgetItem
for lookup, avoid error on 404. This avoids disrupting the code execution when there is no metadata part for a target item.
- 2023-07-05: updated Angular.
- 2023-06-21: added default units to physical size. You can now specify a default unit different from
cm
(which remains the default when no such properties are set) viadefaultWUnit
,defaultHUnit
,defaultDUnit
. - 2023-06-13: added
GalleryOptionsService
to allow changing gallery options. - 2023-05-25: fixes to pin target lookup.
- 2023-05-22: added asserted composite ID editors and pin target lookup component (
@myrmidon/cadmus-refs-asserted-ids
, version 2.1.0). - 2023-05-11: updated to Angular 16.
- 2023-04-15: added custom actions to image gallery.
- 2023-04-14:
- added custom actions bar.
- updated Angular.
- 2023-04-02: fixed bug with proper name editing.
- 2023-03-26: added more Annotorious selectors using the selector pack plugin:
npm i @recogito/annotorious-selector-pack
. - 2023-03-24: added
skip
andlimit
to IIIF service options. - 2023-03-23:
- added OSD image gallery library.
- moved join pipe to
NgToolsModule
.
- 2023-03-22: added simple IIIF gallery service.
- 2023-03-15: fixes to OSD annotator.
- 2023-03-11: updated packages.
- 2023-03-02: more notes per annotation.
- 2023-03-02: fixes to annotator.
- 2023-03-01: clear annotations when switching image.
- 2023-03-01: fixes.
- 2023-02-28:
- adding image gallery.
- more details in
@myrmidon/cadmus-img-annotator
TS model.
- 2023-02-26: added chronotope and asserted chronotope pipes (
@myrmidon/refs-asserted-chronotope
,@myrmidon/cadmus-refs-chronotope
). - 2023-02-11: added
noAssertion
option to proper name editor. - 2023-02-10: improvements for flags picker.
- 2023-02-09:
- fix to flags picker custom flag.
- refactored flags picker.
- 2023-02-08: allow
null
for bound properties withundefined
.
- 2023-02-07:
- fix to asserted chronotope assertions binding.
- check not only for undefined but also for null in codicologic location text rendering.
- 2023-02-06: fix to proper name binding.
- 2023-02-03: fixes to thesauri bindings.
- 2023-02-03:
- allow null in
PhysicalSizeComponent
. - refactored input properties binding so that there is no need for using a different variable for the initial value in most components. An input value triggers form update, which should happen only if the bound object has changed. Also, the output event should update the bound object before emitting, so that the parent handling that events and setting the bound property to the new value will not trigger an infinite loop. Guidelines:
- in the input property ensure to check for reference equality, and update form only if different.
- in updating form, no change event is emitted.
- in the output event, assign new value to the inner model before emitting the change event.
- allow null in
- 2023-01-30:
PinRefLookupService
: use "contains" rather than "starts-with" operator in query.- updated Angular.
- 2023-01-24:
- auto-close scoped pin lookup picker on pick.
- fix location to string for closing brackets.
- 2023-01-23: added covers to codicologic location.
- 2023-01-20:
- added missing close functionality in asserted ID editor.
- added pin to available metadata in asserted ID builder.
- 2023-01-19:
cod-location
:n
is no more required and defaults to 0. This allows dealing with non-physical (label-driven) locations.- updated Angular and packages.
- added internal lookup capability to asserted IDs.
- 2023-01-18: added missing label to physical size h-unit.
- 2023-01-03:
- ensure that input properties check for reference equality in setter.
- added proper name service.
- 2022-12-30: refactored proper names editor. The model has not changed, but the editor and its thesauri have been refactored so that they can represent also hierarchically structured appellations, especially useful for place names (
@myrmidon/cadmus-refs-proper-name
). - 2022-12-19:
- fix to note style in assertion (
@myrmidon/cadmus-refs-assertion
). - updated Angular.
- fix to note style in assertion (
- 2022-12-14: fixed tip in
@myrmex/cadmus-cod-location
to include word. - 2022-12-06: fixed asserted chronotopes set add button does not show editor.
- 2022-12-03:
- removed
@angular/flex-layout
- fixed missing label in cod-location
- fixed styles for some buttons
- removed
- 2022-12-01: fixed button labels in
@myrmidon/cadmus-refs-asserted-ids
and@myrmidon/cadmus-refs-external-ids
. - 2022-11-25: replaced
CadmusValidators
withNgToolsValidators
in@myrmidon/cadmus-refs-proper-name
. - 2022-11-23: added
@myrmidon/cadmus-ui-note-set
(from@myrmidon/cadmus-codicology-ui
).
Version 1.0.0 onwards target the new Cadmus shell, which starts from Angular 15.
- 2022-11-22: migrated to Angular 15, adjusting for new Material.
- 2022-11-21: fix to required flag in lookup.
- 2022-11-11: added more properties/events to annotator.
- 2022-11-02:
- updated Angular and packages.
- added image annotator brick (using recogito Annotorious with a thin Angular wrapper).
- 2022-09-15: updated Angular.
- 2022-08-04:
- honor H before W in physical size pipe and label.
- updated Angular.
- 2022-08-03: added
@myrmidon/cadmus-refs-asserted-ids
library and moved the old@myrmidon/cadmus-refs-asserted-id
into it. Thus, now library@myrmidon/cadmus-refs-asserted-id
is deprecated, and should be replaced by@myrmidon/cadmus-refs-asserted-ids
, which includes the same component plus another one for editing multiple IDs at once. Also, this should also deprecate@myrmidon/cadmus-refs-external-ids
, which refers to a legacy model where the external ID had a rank, and then got an assertion later. It is recommended to prefer the newAssertedId
based model and considerExternalId
as deprecated. In bricks backend, these are the models:
ExternalId
- Tag
- Value
- Scope
AssertedId : ExternalId
- Assertion
RankedExternalId (deprecated) : ExternalId
- Rank
Assertion
- Tag
- Rank
- References
- Note
DocReference
- Type
- Tag
- Citation
- Note
- 2022-08-02: added thesaurus to decorated counts IDs.
- 2022-08-01: updated Angular.
- 2022-07-18: added
hBeforeW
property to physical size. - 2022-07-14: upgraded Angular.
- 2022-07-10: upgraded Angular.
- 2022-06-10: upgraded to Angular 14.
- 2022-05-13: upgraded Angular.
- 2022-04-01: fire IDs change on init in flags picker.
- 2022-03-25: fix validation check in lookup.
- 2022-03-23: fixes to decorated counts.
- 2022-03-22: added
baseFilter
to lookup. - 2022-03-15: cod location: properly react to single/required changes.
- 2022-03-14: better lookup UI.
- 2022-03-10: upgraded Angular to 13.2.6.
- 2022-02-13: upgraded Angular.
- 2022-02-05: added user-defined flags to flags picker.
- 2022-02-03: Docker image 0.0.7.
- 2022-01-30: minor fixes to asserted chronotopes set.
- 2022-01-29: added decorated counts library. Docker image 0.0.6.
- 2022-01-26: added
AssertedChronotopeSet
editor. Docker image 0.0.5. - 2022-01-23: added pipes for
CodLocation
,CodLocationRange
, andPhysicalSize
. - 2022-01-16: fixed model of
AssertedChronotope
. - 2022-01-13: block id as div id in
CadmusTextBlockView
. Upgraded Angular. Docker image 0.0.4. - 2022-01-11: style customization for
CadmusTextBlockView
. - 2022-01-09: added assertion to external IDs and proper name.
- 2022-01-06: added
word
toCodLocation
. - 2022-01-05: added
HistoricalDatePipe
and updated dependencies from Cadmus core. - 2021-12-24: refactored chronotopes, Docker image 0.0.3.
- 2021-12-22: Docker image 0.0.2.
- 2021-12-20: added physical size. This was taken from Cadmus UI, so this will be refactored later.
- 2021-12-15: removed dependencies from
@myrmidon/cadmus-material
and bumped all version numbers accordingly. - 2021-12-13: added link button to ref-lookup component.
- 2021-12-11: updated lib dependencies to 13.1.0, improved doc references visuals.
- 2021-12-10: upgraded Angular and refactored historical date editor implementation by replacing legacy code.