* Prevent duplicate rootPath for image in file-preview
* Add rootPath to file and file-image for downloading
* Revert change to v-image
* Patch rootPaths accordingly
* Fix missing file name on download
* first draft for translations rtl implementation
* make direction field dybamic
* Fixed default direction field
* added directionality to: tags, input-multiline, repeater (list)
* added directionality for wysiwyg, input-autocomplete, groups
* reverted directionality in wysiwyg-editor
* removed hardcoded rtl, ltr buttons from wysiwyg toolbar
* working directionality in wysiwyg editor
* also add v-if to await language for second language (split-view) in translations.vue
* added watcher for changing wysiwyg directionality on language change
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Martijn de Voogd <devoogd@kissthefrog.nl>
Co-authored-by: Martijn <73393707+martijn-dev@users.noreply.github.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
* removing getrootpath
* removed redundant getRootPath from components
* We use leading / everywhere else in api usage
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Install / bootstrap vitest
* Install c8
* Add tests for add-query-to-path
* Don't set global maplibre token on individual style
This feels wrong to me. We have a single global access token that should be used for these things. Overriding that with a token that's found for individual styles on top of the same global object in order of configured maps feels weird, as the latter tokens will override the earlier ones. Needs more research though
* Install testing libraries
* Use happy-dom as env in vitest
* Enable ts checking in tests
* Remove unused jest config
* Organize store imports
* Remove types from TSDoc in add-query-to-path
* Improve check in add-related-primary-key-to-fields
* Add reusable stub for anything touching nanoid
* Add tests for add-related-primary-key-to-fields
* Move adjust date to shared
* Remove arraysAreEqual util in favor of relying on lodash
* Fix add-related-primary-key-to-fields test
* Add test coverage for capitlize-first
* Add TSDoc/tests for extract-field-from-function
* Add test coverage for formatFieldFunction
* Add test coverage for format-filesize
* Add test coverage for get-groups
* Add tests for get-root-path
* cleanup imports
* Move tests to live next to source files
* Add tests for user-name
* Update type to match function behavior
* Add test coverage for point-on-line
* Add tests for is-empty
* Add test coverage for is-hex
* Remove getSetting util
Bit pointless to have a util function to just read a value from a store
* Add test coverage for get-related-collection
* Add test coverage for get-theme
* Add test coverage for get-with-arrays
* Add test coverage for hide-drag-image
* Add test coverage for is-permission-empty
* Remove unused import
* Add test for jwt-payload
* Add snapshot rendering test for v-sheet
* Add whitespace
* Rename __test_utils__ -> __utils__
* Add composable test
* Update app/tsconfig.json
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* v-image and "lazy load" working
* fixed vars
* all the other img uses
* No longer require access token in url for files
* Add lazy loading and size limits
* Rename map-component source prop
* Fix lint warning
* Update app/src/views/public/public-view.vue
Co-authored-by: ian <licitdev@gmail.com>
* Fix lint
* Fix missing file type icon
* Fix null imageInfo error
* Use video.js for media playback
* Fix .js file display
* Update package-lock.json
* Update package-lock.json
* update package.json
* Update pnpm-lock.yaml
* Remove unrelated addition on VDatePicker
* Remove folder abstraction
* Use image data based aspect ratio on preview
* Base app rate throttle on API rate limit config
* Configure app rate limit throttle based on api config
* Convert v-image to script[setup]
* Convert v-media to script[setup]
* Cleanup v-media
* Remove unneeded addTokenToUrl usages
* Remove video.js
It doesn't do authorization headers for mp4/mp3, so it's pointless
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: ian <licitdev@gmail.com>
* add raw editor for flows operation options
* add comment to explain reasoning for watcher
* add simple raw editor with syntax highlighting
* Add multiline to text fields & hide in json fields
* update input icon for toggle
* do not unset value for text fields
* fix mustache tag value checking
* enable raw editor for Insights
* remove lint warning
* Reduce size + inline icons
* add background-highlight when active toggle
* change multiline prop to type prop
* show toggle for all field types (including json)
* remove watcher to toggle rawEditor on load
* fix raw editor emit
* fix request operation headers field type json
* fix raw editor value passed to codemirror
* prevent tags from crashing
* do not unset values anymore when toggling raw
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* added explicit change check before updating the internal value
* bunch of attempted fixes
* Revert "bunch of attempted fixes"
This reverts commit 17b7a5340f.
* nested v-form performance improvements
preventing re-rendering of some groups
* tries to fix accordion always re-rendering
* abnstracted the fix to its own functions
* abstracted the fix to its own functions
* fixes bug with rendering and saving data in accordion groups
* removed unneeded if statement
Co-authored-by: ian <licitdev@gmail.com>
* Only emit value if updated for wysiwyg interface
* Update app/src/interfaces/input-rich-text-html/input-rich-text-html.vue
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* fix search not matching parent items
* make group selectable in v-select
* fix wrong prop name
* set selected group to active for highlighted style
* Fix typings
Co-authored-by: ian <licitdev@gmail.com>
* query function added to list
* dashboard reading query, adding to object
* typecasting of filter vals needed still
* numbers accepting strings too
* json-to-graphql-query => devD
* fixed unneeded return in list index.ts
* stitching and calling but not actually calling
* calls on panel change
* query object += new panel before dashboard save
* uuid generated in app not api
* fixed panel ids in query
* fixed the tests I just wrote
* passing the query data down!
* list showing data
* objDiff test moved to test
* metric bug fixes + data
* dashboard logic
* time series conversion started
* timeseries GQL query almost there
* query querying
* chart loading
* aggregate handling improved
* error handling for aggregate+filter errors
* removed query on empty queryObj
* maybe more error handling
* more error handling working
* improvements to erorr handling
* stitchGQL() error return type corrected
* added string fields to COUNT
* pushing up but needs work
* not an endless recursion
* its not pretty but it works.
* throws an error
* system collections supported
* refactor to solve some errors
* loading correct
* metric function fixed
* data loading but not blocking rendering
* removed redundant code.
* relational fields
* deep nesting relations
* options.precision has a default
* relational fields fix. (thanks azri)
* the limit
* limit and time series
* range has a default
* datat to workspace
* v-if
* panels loading
* workspaces dont get data anymore
* package.json
* requested changes
* loading
* get groups util
* timeseries => script setup
* list => script setup
* metric => script setup
* label => script setup
* declare optional props
* loadingPanels: only loading spinner on loading panels
* remove unneeded parseDate!!
* applyDataToPanels tests
* -.only
* remove unneeded steps
* processQuery tests
* tests
* removed unused var
* jest.config and some queryCaller tests
* one more test
* query tests
* typo
* clean up
* fix some but not all bugs
* bugs from merge fixed
* Start cleaning up 🧹
* Refactor custom input type
* Small tweaks in list index
* Cleanup imports
* Require Query object to be returned from query prop
* Tweak return statement
* Fix imports
* Cleanup metric watch effect
* Tweaks tweaks tweaks
* Don't rely on options, simplify fetch logic
* Add paths to validation errors
* [WIP] Start handling things in the store
* Rework query fetching logic into store
* Clean up data passing
* Use composition setup for insights store
* Remove outdated
* Fix missing return
* Allow batch updating in REST API
Allows sending an array of partial items to the endpoints, updating all to their own values
* Add batch update to graphql
* Start integrating edits
* Readd clear
* Add deletion
* Add duplication
* Finish create flow
* Resolve cache refresh on panel config
* Prevent warnings about component name
* Improve loading state
* Finalize dashboard overhaul
* Add auto-refresh sidebar detail
* Add efficient panel reloading
* Set/remove errors on succeeded requests
* Move options rendering to shared
* Fix wrong imports, render options in app
* Selectively reload panels with changed variables
* Ensure newly added panels don't lose data
* Only refresh panel if data query changed
* Never use empty filter object in metric query
* Add default value support to variable panel
* Centralize no-data state
* Only reload data on var change when query is altered
* Fix build
* Fix time series order
* Remove unused utils
* Remove no-longer-used logic
* Mark batch update result as non-nullable in GraphQL schema
* Interim flows fix
* Skip parsing undefined keys
* Refresh insights dashboard when discarding changes
* Don't submit primary key when updating batch
* Handle null prop field better
* Tweak panel padding
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
* Added the same options as on the translations display.
This now allows us to set the default interface option instead of always defaulting to the user's language or using the first language.
* Refactored i18n to useI18n
* Emit input whenever WYSIWYG content is updated
* Update value when initialized for direct page loads
* Remove emit value on init
* Emit only when the observer exists
* Set count before observer check
* Remove extraneous init call
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>