feat(color-module): 添加 q_scheme_select_options 方法以支持 SchemeSelect 选项
This commit is contained in:
@@ -4,7 +4,7 @@ use baseline::Baseline;
|
||||
use linked_hash_set::LinkedHashSet;
|
||||
use palette::FromColor;
|
||||
use serde::Serialize;
|
||||
use wasm_bindgen::{prelude::wasm_bindgen, JsValue};
|
||||
use wasm_bindgen::{JsValue, prelude::wasm_bindgen};
|
||||
|
||||
use crate::{errors, parse_option_to_oklch, parse_to_oklch};
|
||||
|
||||
@@ -16,7 +16,7 @@ mod neutral_swatch;
|
||||
mod scheme_setting;
|
||||
|
||||
pub use neutral_swatch::NeutralSwatch;
|
||||
pub use scheme_setting::{ColorExpand, ColorShifting, SchemeSetting, WACGSetting};
|
||||
pub use scheme_setting::{ColorExpand, ColorShifting, SchemeSelect, SchemeSetting, WACGSetting};
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub struct QScheme {
|
||||
@@ -221,6 +221,20 @@ pub fn q_scheme_wacg_settings() -> Result<JsValue, String> {
|
||||
serde_wasm_bindgen::to_value(&settings).map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn q_scheme_select_options() -> Result<JsValue, String> {
|
||||
let options = enum_iterator::all::<SchemeSelect>()
|
||||
.map(|option| {
|
||||
serde_json::json!({
|
||||
"label": option.label(),
|
||||
"value": option as u8,
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
serde_wasm_bindgen::to_value(&options).map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn q_scheme_default_settings() -> SchemeSetting {
|
||||
SchemeSetting::default()
|
||||
|
||||
Reference in New Issue
Block a user