Skip to content

Button ​

ewColorPickerButton renders the Clear and Sure buttons. Clear restores the default color and closes the panel; Sure submits the current color and closes the panel.

ItemValue
Package@ew-color-picker/button
pluginNameewColorPickerButton
applyOrderPost
Mount pointpanelContainer → .ew-color-picker-bottom-row
Instancecore.plugins.ewColorPickerButton

Options ​

OptionTypeDefaultDescription
showButtonbooleantrueHide both buttons
hasClearbooleantrueHide Clear
hasSurebooleantrueHide Sure
clearTextstring'清空'Clear label
sureTextstring'确定'Sure label
disabledbooleanfalseDisable both

hasClear / hasSure apply at construction; use enableClear / enableSure / enableButtons at runtime.

Methods ​

Method / propertySignatureDescription
enableClear(enable = true) => voidShow/hide Clear
enableSure(enable = true) => voidShow/hide Sure
enableButtons(enable = true) => voidBoth
hasClear / hasSureboolean getter/setterRe-render
setClearText(text: string) => voidChange label
setSureText(text: string) => voidChange label
setDisabled(disabled: boolean) => voidToggle disabled
updateOptions() => voidRe-read and redraw (deferred one frame)
onClearColor() => voidClear logic (100ms debounce)
onSureColor() => voidSure logic (100ms debounce)
clearButton / sureButtonHTMLButtonElement | nullDOM

Click behaviour ​

Clear ​

  1. Restore defaultColor, or clear if absent;
  2. Sync hsvaColor (reset to {h:0,s:100,v:100,a:1} when empty);
  3. core.setColor(resetColor);
  4. core.syncAllPlugins(resetColor);
  5. core.hidePanel();
  6. options.clear?.(picker);
  7. core.trigger('clear').

Sure ​

  1. options.sure?.(color, picker);
  2. core.trigger('sure', color, picker);
  3. core.hidePanel().

Events & callbacks ​

SourceSignature
options.clear(picker) => void
options.sure(color, picker) => void
event clear()
event sure(color, picker)

DOM ​

html
<div class="ew-color-picker-drop-btn-group">
  <button class="ew-color-picker-clear-btn ew-color-picker-drop-btn">Clear</button>
  <button class="ew-color-picker-sure-btn ew-color-picker-drop-btn">Sure</button>
</div>

Example ​

ts
const picker = new ewColorPicker({
  el: '#app',
  defaultColor: '#8b5cf6',
  clearText: 'Reset',
  sureText: 'Use this color',
  clear: (instance) => console.log('after clear', instance.getColor()),
  sure: (color) => console.log('confirmed', color),
})