Skip to content

Releases: Kademi/keditor

KEditor version 1.1.7

18 Dec 09:19
Compare
Choose a tag to compare

Changes:

  • Improve examples of keditor #98

Fixes:

  • Spelling error in delete this component alert #127
  • fix close setting panel when delete the container if the container is empty. #138
  • Toolbar for Youtube Settings not showing upon hover on IE11 #115
  • KEditor generateId return duplicate, lead to the incorrect getContent return #126
  • Configurable delete message for component and container #135
  • Spelling tweak #141

KEditor version 1.1.6

03 May 08:52
Compare
Choose a tag to compare

Changes:

  • Support method disabled or destroy for editing inline #17
  • Add src\css to ignore lis #80
  • Change image source from blob to base64, missing location for changed image of photo component #88
  • [Feature Request] Implement Formbuilder.online to Keditor as a component of keditor :) #96
  • Improve examples of keditor #98

Fixes:

  • SetContent() on iframe gives error #82
  • Multiple Content areas demo not working #86
  • Video being displayed in editor but not on the outputted string #95
  • Cannot read property 'draggable' of undefined at KEditor.setContent #100

KEditor version 1.1.5

16 Nov 07:29
Compare
Choose a tag to compare

Changes:

  • How to put the sidebar in a div? #75
  • Improve iframeMode #47
  • Standalone CSS/LESS file #40
  • Improve keditor #60
    • Add window properties for instance of KEditor. When iframeMode is true, window is window of iframe
    • Support id for styles in iframeMode
    • Change data-categories to data-keditor-categories for avoiding conflict data-* attributes with dynamic components
    • Prevent form tags inside #keditor-setting-forms submit to other page
    • Context of all callbacks will be instance of KEditor
  • Nested container #68
  • A lot of unnecessary log messages #72
  • Add callback before init component, container and contentarea #71
  • Set content dynamically #63
  • KEditor: containers should not resize while dragging a component #78

Fixes:

  • Iframe mode is not working on Firefox #51
  • Textarea and iframe in Firefox #58
  • Filters not shown #62
  • Init method of component is not called if loading dynamic content fails #79

KEditor version 1.1.4

04 Mar 09:25
Compare
Choose a tag to compare

Changes

  • KEditor supports touch devices #5
  • Support grouped snippets #15
  • Load component setting when first time setting panel of this component type is opened #30
  • Searchable snippets #34
  • Option to disable niceScroll #36
  • New options
/*
 * @option {Boolean} snippetsFilterEnabled Enable filtering snippets by categories and text searching or not
 * @option {String} snippetsCategoriesSeparator The separator character between each categories
 */
  • Search with in-case sensitive #41
  • Change data-title to data-keditor-title for avoiding conflict with dynamic component #46

Fixes:

  • CKEditor toolbar overlap other components or component toolbar #31
  • data-categories is in component after dropping #37
  • Styles and Format dropdowns in CKEditor are not same row with other ckeditor toolbar buttons #44

KEditor version 1.1.3

08 Sep 18:52
Compare
Choose a tag to compare

Changes

  • Support initialize KEditor from textarea #22
  • Move data-* attributes for dynamic component to snippet #23
  • Configurable container #24
/*
 * @option {Boolean} containerSettingEnabled Enable setting panel for container
 * @option {Function} containerSettingInitFunction Method will be called when initializing setting panel for container
 * @option {Function} containerSettingShowFunction Method will be called when setting panel for container is showed
 * @option {Function} containerSettingHideFunction Method will be called when setting panel for container is hidden
 */
  • Enable to add more tab in sidebar #25
/*
 * @option {Object} extraTabs Extra tabs besides Containers and Components tabs in sidebar. Format: { tabName: { text: 'My Extra Tab #1', title: 'My Extra Tab #1', content: 'Here is content of My Extra Tab #1' } }
 */
  • Support title for snippet #26
/*
 * @option {Boolean} snippetsTooltipEnabled Bootstrap tooltip is enable for snippet or not
 * @option {String} snippetsTooltipPosition Position of Bootstrap tooltip for snippet. Can be 'left', 'right', 'top' and 'bottom'
 */
  • Hide setting panel if
    • Setting container is deleting container
    • Container of setting component is deleting container
  • Support customized title and Bootstrap tooltil for tab in sidebar
/*
 * @option {String} tabContainersText Text for Containers tab
 * @option {String} tabContainersTitle Title for Containers tab
 * @option {String} tabComponentsText Text for Components tab
 * @option {String} tabComponentsTitle Title for Components tab
 * @option {Boolean} tabTooltipEnabled Bootstrap Tooltip is enabled for Component and Container tab or not
 */
  • Fix bug "Can not drop container into duplicated container" #28
  • initSettingForm, showSettingForm, hideSettingForm, init, destroy, getContent methods are optional in component type handle
  • Default component type will be blank component
  • Force font style for KEditor controls
  • Update style for Preview: Increasing padding of .keditor-snippet and decrease width of preview photo from 200px to 180px
  • Fix bug niceScroll is displayed incorrect position when switching tab

KEditor version 1.1.2

25 May 11:30
Compare
Choose a tag to compare

Changes

  • Move all data-* attributes of dynamic component from div which has data-dynamic-href to component div (which has data-type^=component-)

Fix bugs

  • #19 - Component settings doesnt appear sometimes

KEditor version 1.1.1

31 Mar 03:07
Compare
Choose a tag to compare
  • New callback when toggling sidebar
/**
 * @option {Function} onSidebarToggled Method will be called after toggled sidebar. Arguments: isOpened
 */
  • Dynamic content with data-dynamic-href attribute on HTML tags.
  • 2 new callbacks for dynamic content
/**
 * @option {Function} onDynamicContentLoaded Callback will be called after dynamic content is loaded. Arguments: dynamicElement, response, status, xhr
 * @option {Function} onDynamicContentError Callback will be called if loading dynamic content is error, abort or timeout. Arguments: dynamicElement, response, status, xhr
 */

KEditor version 1.1.0

26 Feb 10:29
Compare
Choose a tag to compare
  • Support 2 types of snippet are container and component. Container snippet can be dropped only into content area and component snippet can be dropped only into container.
  • New options for toolbar buttons:
/**
 * @option {String} btnMoveContainerText Text content for move button of container
 * @option {String} btnMoveComponentText Text content for move button of component
 * @option {String} btnSettingContainerText Text content for setting button of container
 * @option {String} btnSettingComponentText Text content for setting button of component
 * @option {String} btnDuplicateContainerText Text content for duplicate button of container
 * @option {String} btnDuplicateComponentText Text content for duplicate button of component
 * @option {String} btnDeleteContainerText Text content for delete button of container
 * @option {String} btnDeleteComponentText Text content for delete button of component
 */
  • New options for handle default component type
/**
 * @option {String|Function} defaultComponentType Default component type of component. If type of component does not exist in KEditor.components, will be used 'defaultComponentType' as type of this component. If is function, argument is component - jQuery object of component
 */
  • New callbacks for container
/**
 * @option {Function} onInitContainer Callback will be called when initializing container. It can return array of jQuery objects which will be initialized as editable components in container content (NOTE: these objects MUST be under elements which have attribute data-type="container-content"). By default, all first level sections under container content will be initialized. Arguments: container
 * @option {Function} onBeforeContainerDeleted Callback will be called before container is deleted. Arguments: event, selectedContainer
 * @option {Function} onContainerDeleted Callback will be called after container and its components are already deleted. Arguments: event, selectedContainer
 * @option {Function} onContainerChanged Callback will be called when content of container is changed. It can be when container received new component from snippet or from other container. Or content of any components are changed or any components are deleted or duplicated. Arguments: event, changedContainer
 * @option {Function} onContainerDuplicated Callback will be called when a container is duplicated. Arguments: event, originalContainer, newContainer
 * @option {Function} onContainerSelected Callback will be called when a container is selected. Arguments: event, selectedContainer
 * @option {Function} onContainerSnippetDropped Callback will be called when a container snippet is dropped into content area. Arguments: event, newContainer, droppedContainer
  • New callbacks for component
/**
 * @option {Function} onComponentReady Callback will be called after component is initialized. This callback is available or not is depend on component type handler.
 * @option {Function} onInitComponent Callback will be called when initializing component. Arguments: component
 * @option {Function} onBeforeComponentDeleted Callback will be called before a component is deleted. Arguments: event, selectedComponent
 * @option {Function} onComponentDeleted Callback will be called after a component is deleted. Arguments: event, selectedComponent
 * @option {Function} onComponentChanged Callback will be called when content of a component is changed. Arguments: event, changedComponent
 * @option {Function} onComponentDuplicated Callback will be called when a component is duplicated. Arguments: event, originalComponent, newComponent
 * @option {Function} onComponentSelected Callback will be called when a component is selected. Arguments: event, selectedComponent
 * @option {Function} onComponentSnippetDropped Callback will be called after a component snippet is dropped into a container. Arguments: event, newComponent, droppedComponent
 */
  • onInitContent is changed to onInitContentArea
  • All callbacks of section are removed
  • Support multiple component types

KEditor version 1.0.2

25 Jan 08:36
Compare
Choose a tag to compare
  • Support multiple content areas
  • Fix bug missing argument changedSection in callback onSectionChanged
  • Update context for all callbacks. Context is content area

KEditor version 1.0.1

19 Jan 02:00
Compare
Choose a tag to compare

New callback:

/**
 * @option {Function} onInitContent Method will be called when initializing content area. It can return array of jQuery objects which will be initialized as editable section in content area. By default, all first level sections under content area will be initialized.
 * @option {Function} onInitSection Method will be called when initializing section after dropped snippet into content are. Arguments: section
 * @option {Function} onContentChanged Callback will be called when content is changed. Arguments: event
 * @option {Function} onSnippetDropped Callback will be called when snippet is dropped into content area. Arguments: event, newSection, droppedSnippet
 * @option {Function} onBeforeSectionDeleted Callback will be called before selected section is deleted. Arguments: event, btnRemove, selectedSection
 * @option {Function} onSectionChanged Callback will be called when content of section is changed. Arguments: event, changedSection
 * @option {Function} onSectionDuplicated Callback will be called when section is duplicated. Arguments: event, originalSection, newSection
 * @option {Function} onSectionSelected Callback will be called when section is selected. Arguments: event, selectedSection
 */