FIX: users :)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "wasm"
|
||||
version = "0.5.0"
|
||||
version = "0.5.3"
|
||||
authors = ["Nicolas Hatcher <nicolas@theuniverse.today>"]
|
||||
description = "IronCalc Web bindings"
|
||||
license = "MIT/Apache-2.0"
|
||||
|
||||
@@ -201,6 +201,36 @@ defined_name_list_types = r"""
|
||||
getDefinedNameList(): DefinedName[];
|
||||
"""
|
||||
|
||||
set_users = r"""
|
||||
/**
|
||||
* @param {any} users
|
||||
*/
|
||||
setUsers(users: any): void;
|
||||
"""
|
||||
|
||||
set_users_types = r"""
|
||||
/**
|
||||
* @param {WebUser[]} users
|
||||
*/
|
||||
setUsers(users: WebUser[]): void;
|
||||
"""
|
||||
|
||||
get_users = r"""
|
||||
/**
|
||||
* @returns {any}
|
||||
*/
|
||||
getUsers(): any;
|
||||
}
|
||||
"""
|
||||
|
||||
get_users_types = r"""
|
||||
/**
|
||||
* @returns {WebUser[]}
|
||||
*/
|
||||
getUsers(): WebUser[];
|
||||
}
|
||||
"""
|
||||
|
||||
def fix_types(text):
|
||||
text = text.replace(get_tokens_str, get_tokens_str_types)
|
||||
text = text.replace(update_style_str, update_style_str_types)
|
||||
@@ -215,6 +245,8 @@ def fix_types(text):
|
||||
text = text.replace(clipboard, clipboard_types)
|
||||
text = text.replace(paste_from_clipboard, paste_from_clipboard_types)
|
||||
text = text.replace(defined_name_list, defined_name_list_types)
|
||||
text = text.replace(set_users, set_users_types)
|
||||
text = text.replace(get_users, get_users_types)
|
||||
with open("types.ts") as f:
|
||||
types_str = f.read()
|
||||
header_types = "{}\n\n{}".format(header, types_str)
|
||||
|
||||
@@ -6,7 +6,7 @@ use wasm_bindgen::{
|
||||
|
||||
use ironcalc_base::{
|
||||
expressions::{lexer::util::get_tokens as tokenizer, types::Area, utils::number_to_column},
|
||||
types::{CellType, Style},
|
||||
types::{CellType, Style, WebUser},
|
||||
BorderArea, ClipboardData, UserModel as BaseModel,
|
||||
};
|
||||
|
||||
@@ -672,4 +672,18 @@ impl Model {
|
||||
.delete_defined_name(name, scope)
|
||||
.map_err(|e| to_js_error(e.to_string()))
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_name = "setUsers")]
|
||||
pub fn set_users(&mut self, users: JsValue) -> Result<(), JsError> {
|
||||
let users: Vec<WebUser> =
|
||||
serde_wasm_bindgen::from_value(users).map_err(|e| to_js_error(e.to_string()))?;
|
||||
self.model.set_users(&users);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_name = "getUsers")]
|
||||
pub fn get_users(&self) -> Result<JsValue, JsError> {
|
||||
let users = self.model.get_model().workbook.users.clone();
|
||||
serde_wasm_bindgen::to_value(&users).map_err(|e| to_js_error(e.to_string()))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,4 +233,11 @@ export interface DefinedName {
|
||||
name: string;
|
||||
scope?: number;
|
||||
formula: string;
|
||||
}
|
||||
|
||||
export interface WebUser {
|
||||
id: string;
|
||||
sheet: number;
|
||||
row: number;
|
||||
column: number;
|
||||
}
|
||||
Reference in New Issue
Block a user