Releases: pardnio/RenderJS
1.5.2
1.5.0
Overview
This release introduces several new features and improvements across various modules, including global functions, string operations, number utilities, array manipulations, object handling, map operations, image processing, and element manipulations. We've also marked some functions for deprecation in the upcoming 2.0.0 release to streamline our API.
Global
New Features
$random(target_length: number): Returns a random string of specified length (default 8). Replaces$key(target_length: number).
Deprecated (will be removed in 2.0.0)
$key: Use$randominstead.
String
New Features
$regexp(flags: any, force_replace: any): Addedforce_replaceparameter to forcibly convert symbols\^\$\{\}\|\,\[\]\(\)\=\!\*\+\.\?. Default isfalse.
Number
New Features
$random: Returns a random string of specified length.$ASCII: Returns the specified ASCII character.
Array
New Features
$sum: Calculates the sum of all numeric elements in an array.$shuffle: Returns a new array with randomly shuffled elements. Replaces$random.
Deprecated (will be removed in 2.0.0)
$random: Use$shuffleinstead.
Object
New Features
$values: Returns all values of an object. Replaces$vals._: (target_key: string | number, target_value: any, replace_value?: boolean): Sets or updates the value of a specified key in an object. By default, it replaces existing values.
Deprecated (will be removed in 2.0.0)
$vals: Use$valuesinstead.
Map
New Features
$values: Returns all values of a Map. Replaces$vals.
Deprecated (will be removed in 2.0.0)
$vals: Use$valuesinstead.
Image
New Features
copy(): Copies the image to the clipboard.
Element
New Features
$$class(class_value: string | string[]): Added support forString[]to check multiple class types.$$class_(check_bool?: any, class_value?: any): Modified to add or remove classes based onclass_valueifcheck_boolis not provided.- New shorthand methods for padding and margin:
_paddingT,_paddingL,_paddingB,_paddingR_marginT,_marginL,_marginB,_marginR
Deprecated (will be removed in 2.0.0)
$$_class: Use$$class_with inverted logic instead.- Full-name padding and margin methods (e.g.,
_paddingTop): Use shorthand versions instead.
概述
本次更新引入了多項新功能和改進,涵蓋全局函數、字串操作、數字工具、陣列操作、物件處理、映射操作、圖像處理和元素操作等多個模組。我們還標記了一些將在即將發布的 2.0.0 版本中棄用的函數,以簡化我們的 API。
全局
新功能
$random(target_length: number): 返回指定長度的隨機字串,預設長度為 8。取代$key(target_length: number)。
即將棄用(將在 2.0.0 版本中移除)
$key: 請改用$random。
字串
新功能
$regexp(flags: any, force_replace: any): 增加force_replace參數,用於強制轉換符號\^\$\{\}\|\,\[\]\(\)\=\!\*\+\.\?。預設為false。
數字
新功能
$random: 返回指定長度的隨機字串。$ASCII: 返回指定的 ASCII 字符。
陣列
新功能
$sum: 計算陣列中所有數值元素的總和。$shuffle: 返回隨機打亂元素順序後的新陣列。取代$random。
即將棄用(將在 2.0.0 版本中移除)
$random: 請改用$shuffle。
物件
新功能
$values: 返回物件的所有值。取代$vals。_: (target_key: string | number, target_value: any, replace_value?: boolean): 設置或更新物件指定鍵的值,預設會替換已存在的值。
即將棄用(將在 2.0.0 版本中移除)
$vals: 請改用$values。
映射(Map)
新功能
$values: 返回映射的所有值。取代$vals。
即將棄用(將在 2.0.0 版本中移除)
$vals: 請改用$values。
圖像
新功能
copy(): 將圖像複製到剪貼簿。
元素
新功能
$$class(class_value: string | string[]): 增加對String[]的支持,可檢查多個類型。$$class_(check_bool?: any, class_value?: any): 修改為在未提供check_bool時,根據class_value來添加或移除類。- 新增 padding 和 margin 的簡寫方法:
_paddingT,_paddingL,_paddingB,_paddingR_marginT,_marginL,_marginB,_marginR
即將棄用(將在 2.0.0 版本中移除)
$$_class: 請使用邏輯相反的$$class_。- 完整名稱的 padding 和 margin 方法(如
_paddingTop):請使用簡寫版本。
1.4.0
Overview
This release introduces several new features and improvements across various modules, including Array, FormData, Map, Element, URL, and Date. To ensure a smooth transition for future releases, some functions are marked for deprecation. Additionally, bugs related to URL query handling and date formatting have been fixed.
String
New Features
- Function
copy()replaces$copy();
Will Deprecate (2.*.*)
- Function
$copy();
Number
New Features
- Function
$gonereturns a relative time description in Chinese or English based on the language setting;
Array
New Features
- Function
_(value: any | any[], index?: number)enhanced:- Adds an optional
indexparameter to specify the insertion position; - Supports inserting an element or array at a specific index;
- If
indexis not provided, the default behavior of adding elements to the end of the array remains;
- Adds an optional
Resolved Issues
- Function
$_(index: number)now correctly removes the element at the specified index and returns the updated array;
Object
New Features
- Function
forEach(value?: (key: string, val: any) => void)replaces$forEach(value?: (key: string, val: any) => void);
Will Deprecate (2.*.*)
- Function
$forEach(value?: (key: string, val: any) => void);
Map
New Features
- Function
$jsonreplaces$obj; - Function
$_(key?: any)removes the element with the specified key and returns the updatedMap; - Function
$$(value: any)checks if theMapcontains the specified value;
Will Deprecate (2.*.*)
- Function
$obj;
FormData
New Features
- Function
$mapreturns aMap<string, any>; - Function
$jsonreturns an object{ [key: string]: any };
Date
New Features
- Function
$Sreturns centiseconds; - Function
$SSreturns deciseconds; - Function
$SSSreturns milliseconds; - Function
$ddddreturns the full name of the day (e.g., 'Sunday'); - Function
$dddreturns the abbreviated day name (e.g., 'Sun'); - Function
$formatnow supports the formats 'S', 'SS', 'SSS', 'ddd', 'dddd';
Resolved Issues
- Function
$ddnow correctly returns a two-letter abbreviation (e.g., 'Su'); - Function
$ynow returns a format consistent with$yy;
URL
Resolved Issues
- Function
$queryAllnow correctly processes query parameters;
Element
New Features
-
Function
_padding(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string)replaces_p(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); -
Function
_paddingTop(value?: number | string)replaces_pt(value?: number | string); -
Function
_paddingLeft(value?: number | string)replaces_pl(value?: number | string); -
Function
_paddingBottom(value?: number | string)replaces_pb(value?: number | string); -
Function
_paddingRight(value?: number | string)replaces_pr(value?: number | string); -
Function
_margin(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string)replaces_m(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); -
Function
_marginTop(value?: number | string)replaces_mt(value?: number | string); -
Function
_marginLeft(value?: number | string)replaces_ml(value?: number | string); -
Function
_marginBottom(value?: number | string)replaces_mb(value?: number | string); -
Function
_marginRight(value?: number | string)replaces_mr(value?: number | string); -
Function
$formData- Returns
FormDatafor<form>elements; - Returns
undefinedfor non-<form>elements;
- Returns
-
Function
$map- Processes
$formDataresults; - Returns a
Map<string, any>orundefined;
- Processes
-
Function
$json- Processes
$formDataresults; - Returns an object
{ [key: string]: any }orundefined;
- Processes
Will Deprecate (2.*.*)
- Function
_p(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); - Function
_pt(value?: number | string); - Function
_pl(value?: number | string); - Function
_pb(value?: number | string); - Function
_pr(value?: number | string); - Function
_m(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); - Function
_mt(value?: number | string); - Function
_ml(value?: number | string); - Function
_mb(value?: number | string); - Function
_mr(value?: number | string);
概述
此版本引入了多個模組的新功能和改進,包括 Array、FormData、Map、Element、URL 和 Date。為了確保未來版本的順利過渡,一些函數被標記為即將棄用。此外,還修復了 URL 查詢處理和日期格式化方面的錯誤。
String
新功能
- 函數
copy()取代$copy();
即將棄用 (2.*.*)
- 函數
$copy();
Number
新功能
- 函數
$gone根據語言設定,返回相對時間的中文或英文描述;
Array
新功能
- 函數
_(value: any | any[], index?: number)增強功能:- 新增可選參數
index,用於指定插入位置; - 支援在指定索引處插入元素或數組;
- 當不提供
index時,保持在數組末尾添加元素的行為;
- 新增可選參數
修正問題
- 函數
$_(index: number)現在可以正確移除指定索引的元素並返回更新後的數組;
Object
新功能
- 函數
forEach(value?: (key: string, val: any) => void)取代$forEach(value?: (key: string, val: any) => void);
即將棄用 (2.*.*)
- 函數
$forEach(value?: (key: string, val: any) => void);
Map
新功能
- 函數
$json取代$obj; - 函數
$_(key?: any)刪除指定鍵並返回更新的Map; - 函數
$$(value: any)檢查Map是否包含指定值;
即將棄用 (2.*.*)
- 函數
$obj;
FormData
新功能
- 函數
$map返回Map<string, any>; - 函數
$json返回物件{ [key: string]: any };
Date
新功能
- 函數
$S返回百毫秒; - 函數
$SS返回十毫秒; - 函數
$SSS返回毫秒; - 函數
$dddd返回完整星期名稱 (如 'Sunday'); - 函數
$ddd返回星期縮寫 (如 'Sun'); - 函數
$format現支援 'S'、'SS'、'SSS'、'ddd'、'dddd' 格式;
修正問題
- 函數
$dd現正確返回兩字母縮寫 (如 'Su'); - 函數
$y現返回與$yy一致的格式;
URL
修正問題
- 函數
$queryAll現正確處理查詢參數;
Element
新功能
-
函數
_padding(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string)取代_p(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); -
函數
_paddingTop(value?: number | string)取代_pt(value?: number | string); -
函數
_paddingLeft(value?: number | string)取代_pl(value?: number | string); -
函數
_paddingBottom(value?: number | string)取代_pb(value?: number | string); -
函數
_paddingRight(value?: number | string)取代_pr(value?: number | string); -
函數
_margin(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string)取代_m(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); -
函數
_marginTop(value?: number | string)取代_mt(value?: number | string); -
函數
_marginLeft(value?: number | string)取代_ml(value?: number | string); -
函數
_marginBottom(value?: number | string)取代_mb(value?: number | string); -
函數
_marginRight(value?: number | string)取代_mr(value?: number | string); -
函數
$formData- 對
<form>元素返回FormData; - 非
<form>元素返回undefined;
- 對
-
函數
$map- 處理
$formData結果; - 返回
Map<string, any>或undefined;
- 處理
-
函數
$json- 處理
$formData結果; - 返回物件
{ [key: string]: any }或undefined;
- 處理
即將棄用 (2.*.*)
- 函數
_p(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); - 函數
_pt(value?: number | string); - 函數
_pl(value?: number | string); - 函數
_pb(value?: number | string); - 函數
_pr(value?: number | string); - 函數
_m(top?: number | string, right?: number | string, bottom?: number | string, left?: number | string); - 函數
_mt(value?: number | string); - 函數
_ml(value?: number | string); - 函數
_mb(value?: number | string); - 函數
_mr(value?: number | string);
1.3.2
Overview
This update includes fixes related to PD tag handling for input[type="radio"] and input[type="checkbox"], ensuring that the value is correctly captured. Additionally, changes were made to String.prototype.$all, altering the return format to HTMLElement[].
PD
Fixed Issues
modelininput[type="radio"]andinput[type="checkbox"]now correctly captures the value.
String
Resolved Issues
$allnow returns an array ofHTMLElement[]instead of the previous format.
概述
此更新修復了 PD 在 input[type="radio"] 和 input[type="checkbox"] 中無法正確捕獲值的問題。此外,String.prototype.$all 的返回格式也更改為 HTMLElement[]。
PD
修正問題
model在input[type="radio"]和input[type="checkbox"]中現在能正確捕獲值。
String
修正問題
$all現在返回HTMLElement[]陣列,而非之前的格式。
1.3.1
1.3.0
Overview
This update introduces several new features for PD tags and functions, enhancing style setting, case adjustment, and date conversion capabilities.
PD
New Features
- Added support for quick
stylesettings with the followingPDtags::hide,:padding,:margin,:border,:border-radius,:outline,:box-shadow. - Added attribute
:once, which supports actions that are executed only once. - Added
UPPER()andLOWER()functions to adjust string case.Example
<body id="app"> <p>{{ UPPER(test1) }} {{ LOWER(test2) }}</p> </body> <script> const app = new PD({ id: "app", data: { test1: "upper", test2: "LOWER" } }); </script>
Result
<body id="app"> <p>UPPER lower</p> </body>
- Added
DATE()function to convert a timestamp into a formatted date.Example
<body id="app"> <p>{{ DATE(now, YYYY-MM-DD hh:mm:ss) }}</p> </body> <script> const app = new PD({ id: "app", data: { now: Math.floor(Date.now() / 1000) } }); </script>
Result
<body id="app"> <p>2024-08-17 03:40:47</p> </body>
概述
此更新為 PD 引入了多項新功能,增強了樣式設置、大小寫調整以及日期轉換的功能。
PD
新功能
- 新增對以下
PD標籤快速設置樣式的支持::hide、:padding、:margin、:border、:border-radius、:outline、:box-shadow。 - 新增
PD標籤:once,支援僅執行一次的操作。 - 新增
UPPER()和LOWER()函數來調整字串大小寫。範例
<body id="app"> <p>{{ UPPER(test1) }} {{ LOWER(test2) }}</p> </body> <script> const app = new PD({ id: "app", data: { test1: "upper", test2: "LOWER" } }); </script>
結果
<body id="app"> <p>UPPER lower</p> </body>
- 新增
DATE()函數將timestamp轉換為格式化日期。範例
<body id="app"> <p>{{ DATE(now, YYYY-MM-DD hh:mm:ss) }}</p> </body> <script> const app = new PD({ id: "app", data: { now: Math.floor(Date.now() / 1000) } }); </script>
結果
<body id="app"> <p>2024-08-17 03:40:47</p> </body>
1.2.0
Added
PDfunctionCALCsupports simple calculations.- index.html
<body id="app"> <p>{{ CALC(num + 1) }}</p> <p>{{ CALC(num - 2) }}</p> <p>{{ CALC(num * 3) }}</p> <p>{{ CALC(num / 4) }}</p> </body> <script> const app = new PD({ id: "app", data: { num: 12 } }); </script>
- Result
<body id="app"> <p>13</p> <p>10</p> <p>36</p> <p>3</p> </body>
- index.html
PDtag:*supports{{value}}combined binding.- index.html
<body id="app"> <a :for="e in ary" :href="https://example.com/id/{{ e }}">https://example.com/id/{{ e }}</a> </body> <script> const app = new PD({ id: "app", data: { ary: ["1", "2", "3"] } }); </script>
- Result
<body id="app"> <a href="https://example.com/id/1">https://example.com/id/1</a> <a href="https://example.com/id/2">https://example.com/id/2</a> <a href="https://example.com/id/3">https://example.com/id/3</a> </body>
- index.html
PDtags:bg-image,:bg-attachment,:bg-blend-mode,:bg-clip,:bg-origin,:bg-position,:bg-position-x,:bg-position-y,:bg-repeat,:bg-size,:bg-color,:colorsupport quickstylesetting.
Fixed
PDtag{{}}using functionLENGTHhas no response.PDfunctionLENGTHreturnsundefinedforObjecttype.
1.1.0
Added
- Global function
_Listener(keeping_SVGListenerand_LazyLoadListener)_Listener({ svg: [Boolean], lazyload: [Boolean] })
PDparameterlistenerto disable default listenersconst app = new PD({ listener: { svg: false, lazyload: false, } });
Elementfunctions_mand_p_mis used to set the element's margin. It can set margins for top, right, bottom, and left individually or in combination.dom._m(10); // Sets margin for all four sides to 10 dom._m(10, 20); // Sets margin for top and bottom to 10, and for left and right to 20 dom._m(10, 20, 30); // Sets margin for top to 10, left and right to 20, and bottom to 30 dom._m(10, 20, 30, 40); // Sets margin for top to 10, right to 20, bottom to 30, and left to 40
_pis used to set the element's padding. It can set padding for top, right, bottom, and left individually or in combination.dom._p(10); // Sets padding for all four sides to 10 dom._p(10, 20); // Sets padding for top and bottom to 10, and for left and right to 20 dom._p(10, 20, 30); // Sets padding for top to 10, left and right to 20, and bottom to 30 dom._p(10, 20, 30, 40); // Sets padding for top to 10, right to 20, bottom to 30, and left to 40