4.0 -- Oct 16, 2024
- BREAKING CHANGE
- requires Vue 3 (instead Vue 2)
3.1 -- Oct 16, 2024
- Adapted to DMX 5.3.5 (account management)
3.0.1 -- Jun 6, 2023
- Improvement:
- In case of a dropped WebSocket connection an alert is shown and the page is reloaded
3.0 -- May 19, 2023
Version 3.0 of the dmx-api library extends/modifies the API in order to support a wider variety of frontend
applications. Additionally, depending on application type, the launch time is reduced as less data is transferred from
server (#497,
#501). This required some breaking changes in the
library's init() function.
- BREAKING CHANGES
- changed behavior of the library's
init()function:- The client-side type cache is not fully pre-populated by default anymore. Instead the application pass
topicTypesconfig to pre-populate selectively, or passall. Depending on application type this results in less data transfer at application launch. - The SVG utility for FontAwesome icons is not initialized by default anymore. Instead an application can
initialize it on-demand (by calling
dmx.icons.init()). Applications who don't need it launch quicker as downloading the FontAwesome SVG data (450K) is omitted.
- The client-side type cache is not fully pre-populated by default anymore. Instead the application pass
- rename class
Type->DMXType - remove
getPosition()fromViewTopic. Use the newposgetter instead.
- changed behavior of the library's
- Improvement:
- The library's
init()function optionally opens the WebSocket for client-synchronization (ifmessageHandlerconfig is passed). The application no longer depends on dmx-websocket module then. - Vanilla axios http instance (without error interceptor set by application) is
exported as
rpc._http.
- The library's
- Model:
- change
Type'snewFormModel():objectparameter is now optional- add
allChildrenparameter (optional)
- add (optional)
levelparameter toCompDef'semptyChildInstance() - add
panX,panY,zoom,bgImageUrlgetters toTopicmap - add
updateTopic(),updateAssoc()toTopicmap(part of dmx-topicmap-panel protocol) - add
posgetter toViewTopic
- change
- RPC:
- add
getTopicType()andgetAssocType() - add
includeChildrenparameter togetTopicmap() - add
includeChildrenandincludeAssocChildrenparameters togetAssignedWorkspace() - add
getMemberships()to get the members of a workspace - add
bulkUpdateUserMemberships()andbulkUpdateWorkspaceMemberships() - add
deleteWorkspace() - change
updateTopic(): returnsTopicplus directives (formerly just directives) - change
login(): returned promise resolves with username (formerly undefined)
- add
- Utils:
- add
stripHtml()
- add
- Fix:
- fixed a bug where nested entities loose their child values while update request (thanks to @gevlish)
2.1 -- Jun 13, 2021
- Model:
- add class
RoleType - add
isEditablegetter toDMXObject - add
isRoleTypegetter toDMXObject - add
asRoleType()toTopic - add
arrowShapeandhollowgetters toPlayer - add
isNoneditablegetter toType
- add class
- RPC:
- add
getAllRoleTypes() - add
getTopicTypeImplicitly(),getAssocTypeImplicitly(),getRoleTypeImplicitly() - add
getConfigDefs(),getConfigTopic(),updateConfigTopic()
- add
- Utils:
- add
formatFileSize() - add
round()
- add
- Fixes:
- Model: fix
TopicType.newTopicModel()regarding identity attributes - Model:
_newInstance()fills in0object value as is (not as'') - Type cache:
initTypeCacheaction returns promise
- Model: fix
2.0 -- Dec 30, 2020
- BREAKING CHANGES
- rename
restClient->rpc - various
dm5->dmxrenamings - Model:
- replace various
DMXObject,Type,CompDefmethods by getters - drop various
DMXObject,Topic,Typemethods
- replace various
- rename
- Feature:
- SVG icon utility (for FontAwesome 4.7)
- support for
SameSitecookie attribute
- Model:
- add
newFormModel()toType - add
getOtherPlayerId()toAssoc
- add
- RPC:
- add
query()
- add
- Chore:
- adapt URLs to
github.com/dmx-systems - remove
/distfrom repo - code run through
eslint
- adapt URLs to
1.0 -- Aug 4, 2020
- Feature: Configurable Icon Renderers
- new config option:
iconRenderers
- new config option:
- Model:
- drop
toExternalForm()method fromTypeclass
- drop
- REST client:
- add
getTopicByValue(),getTopicsByValue() - add
queryTopics() - add
getAdminWorkspaceId() - generic
getPermissions()method
- add
- Global:
- add
isAdmin()
- add
- Fix:
- Model:
fillChildren()when multi-value is empty array
- Model:
0.37 -- Mar 30, 2020
- Remove "Geomaps" API
- Model:
- add
assignToWorkspace()toDMXObject
- add
- REST client:
- add
assignToWorkspace()method
- add
0.36 -- Nov 21, 2019
- Model:
- add
equals()toDMXObject - add
hasObject(id)andhasVisibleObject()toTopicmap - Fix: TopicType's
newTopicModel()initializestypeUriof all child topic's (recursively)
- add
- REST client:
- add
getPrivateWorkspace()method - add
searchChildTopicsboolean param (optional) toqueryTopicsFulltext() - clears the permission cache on
login()/logout()
- add
- Type cache: add
getAllTopicTypes(),getAllAssocTypes(),getAllDataTypes(),getAllRoleTypes()methods - Utils: add
deleteCookie()
0.35 -- Aug 26, 2019
- Utils:
fulltextQuery()supports single-letter whole-word search
0.34 -- Aug 23, 2019
- Utils: add param
allowSingleLetterSearchtofulltextQuery()
0.33 -- Aug 15, 2019
- Model: add
getRelatedTopicsWithoutChilds()to DMXObject - REST client:
- add
getRelatedTopicsWithoutChilds() - suppress error handler for certain requests
- add
- Utils: add
fulltextQuery()
0.32 -- Jul 22, 2019
- Several API and JSON renamings:
- "AssocDef" -> "CompDef" (composition definition)
- "Role" -> "Player"
- "Childs" -> "Children"
- REST client:
createTopicmap(): dropisPrivateparam, addviewPropsparam- Rename
searchTopics()->queryTopicsFulltext()
- Change license to
AGPL-3.0
0.31 -- May 27, 2019
- Support for icon color and background color
- Support for role types
- REST client: support for authorization methods
- Model: replace DMXObject
getType()bytypegetter
0.30 -- Apr 22, 2019
- Model: topic/assoc hide implies unpin
- REST client: Topicmap
setTopicPositions()does x/y rounding - REST client: adapt to server-side Topicmaps API (
setTopicPositions()sends object)
0.29 -- Apr 1, 2019
- Support for assoc visibility
- Support for topicmap pan/zoom state
- Support for geomap center/zoom state
0.28 -- Mar 2, 2019
- Support for retrieving topic/assoc meta data (timestamps, creator/modifier, workspace assignment, ...)
0.27 -- Jan 29, 2019
- Model: more support for assocs with assoc players
- Type cache: exported as
dm5.typeCache - Library is build as UMD and advertised via
unpkgfield (package.json) - Change license to
GPL-3.0-or-later
0.26 -- Jan 5, 2019
- Model: consolidate
DMXObject,Player, andTopicmap
0.25 -- Dec 21, 2018
- Various changes in Model, REST client, and Type cache
0.24 -- Nov 24, 2018
- Model:
- add
isTopicType(),isAssocType()toType - adapt
Type.isComposite()to new data typedmx.core.composite - drop
indexModesfromType - drop
getIdentityAssocDefs()fromType - Fix: topicmap
ViewAssocreactivity - Fix:
AssocRolegetPlayer()for topic 0
- add
- REST client:
- add
createUserAccount()
- add
0.23 -- Nov 7, 2018
- Support for geomaps (new model class
Geomap, new REST client methodsgetGeomap()andgetDomainTopics()) - Model: new methods in
Type:isValue(),isIdentity(),getIdentityAssocDefs() - Utils: new method
debounce()
0.22 -- Oct 21, 2018
- Model:
- new methods in
Topicmap:filterTopics(),filterAssocs() - new method in
Assoc:getColor() - dropped method in
Topicmap:visibleTopicIds(). Use the more genericfilterTopics()instead.
- new methods in
0.21 -- Oct 6, 2018
- Model: add
Topicmap.visibleTopicIds() - Model fix:
Topicmapreactivity
0.20 -- Aug 18, 2018
- Model:
- Drop assoc types "Aggregation Definition" and "Aggregation"
- "Cardinality" definition makes use of type system
- Drop concept "Parent Cardinality"
- REST client:
- New function:
createAssocType() createTopic()andcreateAssoc()return directives too- Config property
onHttpErroris optional
- New function:
- Type cache: fix synchronization of
UPDATE_TYPEdirectives
0.19 -- Jul 31, 2018
- Change type URI prefixes
dm4->dmx - Add GitLab CI/CD
0.18 -- Jul 17, 2018
- Model extension:
AssocRole.getPlayerId(),Topicmap.getObject(id),Topicmap.getPosition(id) - Type cache: process delete-type directives
0.17 -- Jun 20, 2018
- Support for backend "multi" API:
- New in REST client:
hideMulti(),deleteMulti(),setTopicPositions()
- New in REST client:
- Model: new in
ViewTopic/ViewAssoc:isPinned(),setPinned()
0.16 -- May 1, 2018
- Distribute in pre-compiled form
0.15 -- Apr 10, 2018
- Init option
onHttpErrorallows the host application to handle HTTP errors.
0.14 -- Apr 7, 2018
- Model: class
ViewAssocis exported - REST client fix:
createTopicmap()returns aTopicobject
0.13 -- Mar 25, 2018
- Model:
Topicmap.revealTopic()'sposparam is optional. If not given it's up to the topicmap renderer to position the topic. - Utils:
clone()for deep-cloning arbitrary objects - Depends on module
cloneinsteadlodash.clonedeep
0.12 -- Mar 10, 2018
- Model + REST client: support for "view props"
- Model: new in
ViewTopic/ViewAssoc:fetchObject() - Utils:
isEmpty() - Utils fix:
instantiateChilds()has no side effect
0.11 -- Feb 21, 2018
- Model: new in
DeepaMehtaObject:isTopic(),isAssoc(),clone() - REST client:
logout()returns a promise.
0.10 -- Feb 3, 2018
- Support for access control
0.9 -- Jan 13, 2018
- Support for cardinality "many"
0.8 -- Dec 5, 2017
- Support for "relating associations"
0.7 -- Nov 19, 2017
- Client-synchronization for types
0.6 -- Oct 19, 2017
- Create/edit types
0.5 -- Oct 3, 2017
- Create topicmaps/workspaces
0.4 -- Jul 17, 2017
0.3 -- Jun 30, 2017
0.2 -- Jun 14, 2017
0.1 -- Apr 28, 2017
Jörg Richter
Oct 16, 2024