* Block level variance - initial commit
* Remove TODOs
* Only convert RTEs with blocks
* Fix JSON paths for block level property validation
* Rename Properties to Values
* Correct the JSON path of block level validation errors
* Make it possible to skip content migration + ensure backwards compat for the new block format
* Partial culture variance publishing at property level
* UDI to key conversion for block editors - draft, WIP, do NOT merge 😄 (#16970)
* Convert block UDIs to GUIDs
* Fix merge
* Fix merge issues
* Rework nested layout item key parsing for backwards compatibility
* Clean-up
* Reverse block layout item key calculation
* Review
* Use IOptions to skip content migrations
* Remove "published" from data editor feature naming, as it can be used in other contexts too
* Parallel migration
* Don't use deprecated constructor
* Ensure that layout follows structure for partial publishing
* Block Grid element level variance + tests (incl. refactor of element level variation tests)
* Rollback unintended changes to Program.cs
* Fix bad casing
* Minor formatting
* RTE element level variance + tests
* Remove obsoleted constructors
* Use Umbraco.RichText instead of Umbraco.TinyMCE as layout alias for blocks in the RTE
* Fix bad merge
* Temporary fix for new cache in integration tests
* Add EditorAlias to block level properties
* Remove the unintended PropertyEditorAlias output for block values
* Add EditorAlias to Datatype Item model
* Update OpenApi.json
* Introduce "expose" for blocks
* Strict (explicit) handling for Expose
* Improve handling of document and element level variance changes
* Refactor variance alignment for published rendering
* Block UDI to Key conversion should also register as a conversion
* Convert newly added RTE unit test to new RTE blocks format
* Minor review changes
* Run memory intensive tests on Linux only
* Add tests proving that AllowEditInvariantFromNonDefault has effect for block level variance too
* Fix the Platform annotations
* Removed Platform annotations for tests.
* Fix merge
* Obsolete old PublishCulture extension
* More fixing bad merge
---------
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Added Element <-> Document type switch validation
* Apply HasElementconfigured to block grid and block list
Fix smalle bug + optimization
* Moved some of the logic into warnings trough notifcationhandlers and eventmessages
* Cleanup
* Update openApi spec (merge changes)
* Add IsElement check between parent and child on creation
* Typos
* Transformed HasElementConfigured into HasElementConfigured
* Typo
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* IsElement Validation refactor
Moved validation logic regarding doctype IsElement switch into its own service as it will be consumed by more things down the line
* commit missing services...
* Naming improvements
* Bugfix
* First batch of integration tests for ElementSwitchValidator
* More integration tests!
* Little reformatting
* Changed the default values of block based configuration to match expected values.
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Do not execute query if no macros found
* Request cache the permission lookup
* Unbreak change by adding obsolete ctor
* Clean up
* Wrap indexing for delivery API in a scope
* Do not ask options every time for the timeout, instead listen for updates
* Lookup content types once instead of one by one
* Use TryGetValue instead
* Do a distinct on user ids before building index, to avoid issue with more than 2100 parameters
* Don't map ContentDto (it's unused)
* Introduce request bound block editor element cache
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Introduced IDataTypeConfigurationCache
* Applied IDataTypeConfigurationCache to Property Editors and display mapping
* Invalidate new cache trough DataTypeConfigurationCacheRefresher
* Improve IDatatype service to use cached int path when fetching by guid (using idkeymap)
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations (#15160)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations
* Always get all automatic relation type aliases
* Do not set relation type alias for unknown entity types
* Get references from recursive (nested/block) properties
(cherry picked from commit 5198e7c52d)
* Added missing PropertyIndexValueFactories, for Block Grid, Block List, Nested Content, Tags and added No-op for image picker, image cropper etc, where the content dont make any sense anyway.
Made it replace for block grid/list, nested content and tags
* Fixed tests
* Ensure raw-fields are the prefix
* Code clean up
* build fix
* Minor cleanup
* Fixed issue with published values / external index
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Refactor block list/grid property value editors for code reuse
* Prettify block grid editor data conveter a bit
* correct appearance and colors
* validation should only kick in if value is higher than 0 and not null
* Add copyright notice to code, a little formatting and file scoped namespaces where applicable
* custom views
* custom views for blocks
* Refactor block list min/max validation and reuse for block grid
* Prettify extraction of nested content-and-settings references for block grid
* Fix bad naming
* fix casing
* Refactor block list notification handler and reuse for block grid
* context sensitive ui for Blocks
* Refactor notification handlers for block list and block grid incl. unit tests
* Formatting and review
* Bump number of expected data editors in unit test
* initial progress on column options editor
* column span options UI
* column span UI adjustments
* context aware ui adjustments
* minor border improvement
* get and pick layout stylesheet
* remove random x
* make highlight border standout more
* dedicated context bar
* UI improvements
* remove annoying indication
* copy paste
* UI improvements
* remove div.umb-block-grid__block--view from partial
* show block ui, only hide when hovering area.
* area actions
* UI Adjustments
* Block grid editor localization (#12915)
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* fix case of empty value
* use right index
* place border on top of column indication
* heroblock
* userFlowWhenBlockWasCreated
* shorter messages
* overal improvements
* force left/right drag feature
* stylesheet picker localization
* localizations
* space
* unnesecary removal of space
* notes on masonry
* validation form parent skipping + better snapping when drag n drop
* remove icons
* make rows go as minimal as posible
* scale and drop indications
* use item width to determin forceLeft or forceRight
* clean up
* Make clipboard filtering work with block arrays
* readonly mode
* important note
* ask to revert failed paste
* dont allow for backdrop click
* changed wording
* more area actions outside grid container
* droppable indication
* implemented minimal responsive solution.
* add additional data fields about grid clumns
* improved fallback columns width + rows height
* make root element class `umb-block-grid`
* align layout with position relatives, to align visual experience.
* use clientX not screenX
* rename area classes so they dont include the word 'block'
* more renaming
* commit flexbox layout css to repo
* fixes
* fix typo
* only show a broader inline create button if the block is full width.
* simplify css
* remove headline block hover effect
* use some font, to make it look better.
* Drag and drop correctiions/limits
* clean up
* remove log
* make assumptions about proposed distance of target
* slightly white border on validation message for areas to make it standout
* drag n drop seems good at this stage
* force left and right buttons and indication
* correct if
* revert scale handler ui
* If columnSpans is empty we fall back to full width
* Access other PreValues from a PreValue Editor
* maybe temprorary turn of distance drag n' drop condition
* setDirty
* area alias was missing in razor and needed help text
* forceleft forceright translations
* forceLeft / forceRight razor
* correct translation +
remove data- on ng-click
* force placement when moving over edge
* remove unnesecary wrapper element
* show-validation
* red text, might be hard to see, lets see.
* for safety have the border-raduis correct
* better wordings
* Use mouse position to judge if the drop is good before or after.
* fit placeholder when item is begin dragged away
* initial step for finding nearest relation when drag-hovering nothing
* Much better drag n drop experience, must be tested further to prove its not breaking some cases.
* title for scale handler
* new approach + massive drag n drop clean up
* avoid complex CSS transfering of props, instead add the prop in HTML
* adjust placeAfter when in vertical direction mode
* do not scale bigger than the available space to the right
* clean css
* fix numbers
* Fix the case of flickering when hitting an empty area.
* correct placement of code
* package lock
* Adjustment for PreValue Area allowances
* comment on fit in line feature
* fixing scale and drag n drop potential issues
* clean up
* only disallow above max
* outcomment unused code
* clean up
* drag n drop above or below container
* fix for Firefox
* Do not edit block if there is no properties in content
* angularJS form for Entries, to correct validation
* parse layout columns, used to know if block is full width of the layout
* use inherited layout columns
* add this to the example html
* flexbox fix
* highlight if empty area
* comments for undefined column spans
* bring back approvedContainer lock period.
* fix
* Do not edit something without properties
* Remove Force, as thats confusing to read.
* correct localization key
* minor corrections
* Fit within context columns
* Conceptual, inline editor for Grid.
* fix casing
* consider related position in directional conditions
* set default max row span to 1
* update columnSpanOption check for sync
* move Editor to group of Rich Text
* more shift autoScroll
* assume layout columns comes as string
* fix variable name
* force left/right indication
* Inject Areas directly in slot, to enable custom view manipulations of such.
* fix sortableJS mis dropping items
* Overwrite create label
* ability to overwrite root layout create label
* Simplify PreValue editor by hidding options that is not in effect.
* Setup new areas as half width if possible
* Grouping blockTypes
* remove flexbox stylesheet
* Chose groups for area allowance
* ensure a good default width
* improve block active state
* Better contextual sizing
* Comment clean up
* Remove The StarterKit from branch
* Unique group identification for the property editor sortable
* only show avaiable block groups in picker.
* Indication of taget area
* Fallback to root grid columns
* use root layout grid columns, so dont update when layoutColumns change
* Ability to remove block group
* clean up references when removing Group or single Block
* fix drop in same group
* Block picker use contexual create label as headline
* adjust area highlight
* Prevalue editor
* structuralOptions
* Move pre values into tabs for better overview and scope
* Let area grid columns fallback to root grid columns, and let both default to "12" instead of "initial"
* remove input close tag
* Allow in areas
* Move build-in custom views
* only show property-into-button on hover when in group-panel__header
* some height for the show buttons
* filter available block type based on allowInAreas
* remove OnlySpecifiedAllowance
* unsupported block if trouble happend
* move allow at root to allowance group
* easily drop at top or below area if outside. If more than 100px outside then see if there is a parent layout to move into.
* block group validation
* shortcut for opening Areas if areas are defined
* scale label for Areas editor
* Added Legacy name on the old grid layout
* Remove files that come with the starter kit
* Sorting: takeover container detection
* Refactor models + remove unused properties
* Endpoint for creating block grid demo element types
* CTA for getting Block Grid demo blocks
* Refactor block grid sample element creation
* Fix Constants-PropertyEditors spacing
* Fixed unit tests
* Get sample configuration
* Labels for sample blocks
* Improve drag, to swap across unallowed area/root
* improved empty threshold
* hide the after inline-create-button if block is located at right side of area/layout
* clean up
* translations
* danish translations
* move outside edge for forceRight
* Update src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Review comments
* Remove leftover TODO
* big cleanup
* Hide Sample CTA when installed
* clean up
* correct styling for wrapper + moving Block UI to z-index 3 for visiblity on top of other block
* slightly adjusting inline-create-buttons to avoid collisions
* correct localization for force left/right buttons
* gitignorer update
* Clean up nesting of classes in BlockGridConfiguration
* change gitignorer to include App_Plugin folder
* move default layout stylesheet
* remove specific App_plugin folder
* package-lock
* update sample custom views paths
* add custom views for sample
* Adding sample custom views
* Move sample partial Views and custom views
* Update views to not use ModelsBuilder
* Move sample custom views to wwwroot
* Updated Sample CTA text
* Use localize directory
* Ensure groupKey for items without such to work.
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Warren Buckley <warren@umbraco.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>