การแสดงภาพรุ่นใหม่สำหรับ ioBroker: vis-2
การสร้างภาพเว็บสำหรับแพลตฟอร์ม ioBroker
ภาพรวม
- ข้อกำหนดใบอนุญาต
- การติดตั้งและเอกสารประกอบ
- การผูกมัดของวัตถุ
- ตัวกรอง
- อินเตอร์เฟซการควบคุม
- มุมมองเริ่มต้น
- ระบบการอนุญาต
- การตั้งค่า
- SVG และสีปัจจุบัน
ข้อกำหนดใบอนุญาต
หากต้องการใช้อะแดปเตอร์นี้ใน ioBroker
คุณต้องยอมรับใบอนุญาตซอร์สโค้ดของอะแดปเตอร์ ซอร์สโค้ดของอะแดปเตอร์นี้มีอยู่ภายใต้ใบอนุญาต CC BY-NC
นอกจากนี้ คุณต้องมีใบอนุญาตเพื่อใช้อะแดปเตอร์ ใบอนุญาตรุ่นต่อไปนี้มีอยู่ใน https://iobroker.net/www/pricing
- ใบอนุญาตชุมชน: ฟรีสำหรับการใช้งานส่วนตัว! : รับใบอนุญาตฟรีโดยการลงทะเบียนบัญชีบน https://iobroker.net ใบอนุญาตหากตรวจสอบออนไลน์กับเซิร์ฟเวอร์ใบอนุญาต ioBroker เมื่ออะแดปเตอร์ vis-2 เริ่มทำงาน ดังนั้นจำเป็นต้องมีการเชื่อมต่อออนไลน์ ณ เวลานี้!
- การใช้งานส่วนตัวแบบออฟไลน์-ใบอนุญาต : สำหรับการชำระค่าธรรมเนียมการสนับสนุนเล็กน้อย คุณสามารถกำจัดการตรวจสอบใบอนุญาตออนไลน์ที่จำเป็นเมื่อเริ่มต้นอะแดปเตอร์ได้ สำหรับการใช้งานส่วนตัวเท่านั้น!
- ใบอนุญาตเชิงพาณิชย์ : เมื่อใช้ Vis ในสภาพแวดล้อมเชิงพาณิชย์หรือขาย Vis โดยเป็นส่วนหนึ่งของแพ็คเกจ ioBroker ให้กับลูกค้าของคุณ ใบอนุญาตนี้เหมาะสำหรับคุณ การตรวจสอบใบอนุญาตไม่จำเป็นต้องมีการเชื่อมต่อออนไลน์
การติดตั้งและเอกสารประกอบ
การสาธิตออนไลน์
การผูกมัดของวัตถุ
โดยปกติ วิดเจ็ตส่วนใหญ่จะมีแอ็ตทริบิวต์ ObjectID และแอ็ตทริบิวต์นี้สามารถเชื่อมโยงกับค่าบางค่าของ ID อ็อบเจ็กต์ได้ แต่มีตัวเลือกอื่นสำหรับวิธีผูก คุณลักษณะ ของวิดเจ็ตกับ ObjectID บางตัว
เพียงเขียนลงในแอตทริบิวต์ {object.id}
เช่น {hm-rpc.0.OEQ1880105.4.ACTUAL_TEMPERATURE}
และจะถูกผูกไว้กับค่าของวัตถุนี้ หากคุณใช้รูปแบบพิเศษ คุณสามารถดำเนินการง่ายๆ กับรูปแบบดังกล่าวได้ เช่น การคูณหรือการจัดรูปแบบ
เช่น ในการคำนวณด้านตรงข้ามมุมฉากของรูปสามเหลี่ยม:
{h:javascript.0.myCustom.height;w:javascript.0.myCustom.width;Math.max(20, Math.sqrt(h*h + w*w))}
จะถูกตีความว่าเป็นฟังก์ชัน:
value = await (async function () {
var h = (await getState('javascript.0.myCustom.height')).val;
var w = (await getState('javascript.0.myCustom.width')).val;
return Math.max(20, Math.sqrt(h * h + w * w));
})();
หรือ
{h:javascript.0.myCustom.height;w:javascript.0.myCustom.width;h*w}
จะคูณความสูงกับความกว้าง
คุณสามารถใช้ฟังก์ชันจาวาสคริปต์ (เบราว์เซอร์) ใดก็ได้ อาร์กิวเมนต์ต้องถูกกำหนดด้วย ':' หากไม่ใช่ อาร์กิวเมนต์จะถูกตีความว่าเป็นสูตร
ดูแลเกี่ยวกับประเภท ทั้งหมดถูกกำหนดให้เป็นสตริง เพื่อให้แน่ใจว่าค่านั้นจะถือเป็นตัวเลข ให้ใช้ฟังก์ชัน parseFloat
ดังนั้นการคำนวณด้านตรงข้ามมุมฉากของเราจะเป็น:
{h:javascript.0.myCustom.height;w:javascript.0.myCustom.width;Math.max(20, Math.sqrt(Math.pow(parseFloat(h), 2) + Math.pow(parseFloat(w), 2)))}
รูปแบบที่เลิกใช้แล้ว
แพทเทิร์นมีรูปแบบดังต่อไปนี้:
{objectID;operation1;operation2;...}
รองรับการดำเนินการต่อไปนี้:
-
*
- การคูณ อาร์กิวเมนต์ต้องอยู่ในวงเล็บ เช่น "*(4)" ในตัวอย่างนี้ เราคูณค่าด้วย 4 -
+
- เพิ่ม อาร์กิวเมนต์ต้องอยู่ในวงเล็บ เช่น "+(4.5)" ในตัวอย่างนี้ เราบวกเข้ากับค่า 4.5 -
-
- ลบ อาร์กิวเมนต์ต้องอยู่ในวงเล็บ เช่น "-(-674.5)" ในตัวอย่างนี้ เราลบออกจากค่า -674.5 -
/
- การแบ่ง. อาร์กิวเมนต์ต้องอยู่ในวงเล็บ เช่น "/(0.5)" ในตัวอย่างนี้ เราหารค่าด้วย 0.5 -
%
- โมดูโล อาร์กิวเมนต์ต้องอยู่ในวงเล็บ เช่น "%(5)" ในตัวอย่างนี้ เราใช้โมดูโลเป็น 5 -
round
- ปัดเศษค่า -
round(N)
- ปัดเศษค่าด้วย N ตำแหน่งหลังจุด เช่น 34.678;round(1) => 34.7 -
hex
- แปลงค่าเป็นค่าเลขฐานสิบหก ตัวอักษรทั้งหมดเป็นตัวพิมพ์เล็ก -
hex2
- แปลงค่าเป็นค่าเลขฐานสิบหก ตัวอักษรทั้งหมดเป็นตัวพิมพ์เล็ก หากค่าน้อยกว่า 16 ก็จะบวกศูนย์นำหน้า -
HEX
- เหมือนกับ hex แต่ใช้ตัวพิมพ์ใหญ่ -
HEX2
- เหมือนกับ hex2 แต่ใช้ตัวพิมพ์ใหญ่ -
date
- จัดรูปแบบวันที่ตามรูปแบบที่กำหนด รูปแบบจะเหมือนกับใน iobroker.javascript -
min(N)
- หากค่าน้อยกว่า N ให้ใช้ค่า N มิฉะนั้นค่าอื่น -
max(M)
- หากค่ามากกว่า M ให้ใช้ค่า M มิฉะนั้นค่าอื่น -
sqrt
- รากที่สอง -
pow(n)
- พลังของ N -
pow
- ยกกำลัง 2 -
floor
- Math.floor -
ceil
- Math.ceil -
json
- การดำเนินการเพื่อรับ json หรือคุณสมบัติของอ็อบเจ็กต์ เช่น {id;json(common.name.en)}
-
random(R)
- Math.random() * R หรือเพียงแค่ Math.random() หากไม่มีข้อโต้แย้ง -
formatValue(decimals)
- จัดรูปแบบค่าตามการตั้งค่าระบบและใช้ทศนิยม -
date(format)
- จัดรูปแบบค่าเป็นวันที่ รูปแบบจะเป็นดังนี้: "YYYY-MM-DD hh:mm:ss.sss" -
momentDate(format, useTodayOrYesterday)
- จัดรูปแบบค่าเป็นวันที่โดยใช้ Moment.js ต้องป้อนรูปแบบที่ได้รับอนุมัติตามไลบรารี Moment.js ด้วย useTodayOrYesterday=true
รูปแบบ moment.js
ddd
/ dddd
จะถูกเขียนทับด้วยวันนี้ / เมื่อวาน -
array(element1,element2[,element3,element4])
- ส่งคืนองค์ประกอบของดัชนี เช่น: {id.ack;array(ack is false,ack is true)}
คุณสามารถใช้รูปแบบนี้ในข้อความใดก็ได้ เช่น
My calculations with {objectID1;operation1;operation2;...} are {objectID2;operation3;operation4;...}
หรือการคำนวณสี:
#{objectRed;/(100);*(255);HEX2}{objectGreen;HEX2}{objectBlue;HEX2}
หากต้องการแสดงการประทับเวลาของวัตถุให้เขียน .ts
หรือ .lc
(สำหรับการเปลี่ยนแปลงครั้งล่าสุด) ที่ส่วนท้ายของรหัสวัตถุ เช่น:
Last change: {objectRed.lc;date(hh:mm)}
การผูกพิเศษ
มีการผูกภายในที่แตกต่างกันจำนวนหนึ่งเพื่อให้ข้อมูลเพิ่มเติมในมุมมอง:
-
username
- แสดงผู้ใช้ที่เข้าสู่ระบบ -
view
- ชื่อของมุมมองจริง -
wname
- ชื่อวิดเจ็ต -
widget
- เป็นวัตถุที่มีข้อมูลทั้งหมดของวิดเจ็ต ใช้ได้เฉพาะในส่วน JS เช่น {a:a;widget.data.name}
-
widgetOid
- ใช้ OID ของวิดเจ็ตเพื่อกำหนดค่าของวิดเจ็ตในส่วนการกำหนด เช่น {t:widgetOid.val;t}
-
wid
- ชื่อของวิดเจ็ตจริง -
language
- สามารถเป็น de
, en
หรือ ru
-
instance
- อินสแตนซ์ของเบราว์เซอร์ -
login
- หากจำเป็นต้องเข้าสู่ระบบหรือไม่ (เช่น เพื่อแสดง/ซ่อนปุ่มออกจากระบบ) -
local_*
- หากชื่อสถานะเริ่มต้นจาก local_
จะไม่ถูกรายงานไปยัง ioBroker แต่จะอัปเดตวิดเจ็ตทั้งหมด ซึ่งขึ้นอยู่กับสถานะนี้ (ตัวแปรท้องถิ่นสำหรับเซสชันเบราว์เซอร์ปัจจุบัน)
หมายเหตุ: หากต้องการใช้ /// ในการคำนวณ (เช่น ในสูตรสตริง) ให้ใช้ "::" แทน
โปรดจำไว้ว่า คำจำกัดความของสไตล์นั้นจะถูกตีความว่าเป็นการเชื่อมโยง ดังนั้นให้ใช้ {{style: value}}
หรือเพียงแค่
สำหรับสิ่งนั้น
ตัวกรอง
หากต้องการแสดงภาพจำนวนวิดเจ็ตทั้งหมดบนมุมมองเดียว คุณสามารถใช้ตัวกรองเพื่อลดจำนวนวิดเจ็ตที่แสดงพร้อมกันบนมุมมองได้
วิดเจ็ตทุกอันมี filter
ฟิลด์ หากคุณตั้งค่าเป็นค่าบางอย่าง เช่น light
เพื่อให้คุณสามารถใช้วิดเจ็ตอื่น (bars - filters, filter - dropdown)
เพื่อควบคุมว่าตัวกรองใดที่ใช้งานอยู่จริง
อินเตอร์เฟซการควบคุม
Vis สร้าง 3 ตัวแปร:
-
control.instance
- ที่นี่ควรเขียนอินสแตนซ์ของเบราว์เซอร์หรือ FFFFFFFF
หากทุกเบราว์เซอร์ต้องถูกควบคุม -
control.data
- พารามิเตอร์สำหรับคำสั่ง ดูคำอธิบายคำสั่งเฉพาะ -
control.command
- ชื่อคำสั่ง เขียนตัวแปรนี้เพื่อทริกเกอร์คำสั่ง นั่นหมายความว่าก่อนที่จะเขียนคำสั่ง จะต้องเตรียม "อินสแตนซ์" และ "ข้อมูล" ด้วยข้อมูล
คำสั่ง:
alert
- แสดงหน้าต่างแจ้งเตือนใน vis-2 "control.data" มีรูปแบบดังนี้ "message;title;jquery-icon" หัวเรื่องและ jquery-icon เป็นทางเลือก สามารถดูชื่อไอคอนได้ที่นี่ หากต้องการแสดงไอคอน "ui-icon-info" ให้เขียน Message;;info
changeView
- สลับไปยังมุมมองที่ต้องการ "control.data" ต้องมีชื่อของมุมมอง คุณสามารถระบุชื่อโครงการได้เช่นกัน project/view
โครงการเริ่มต้นคือ main
.
refresh
- โหลด vis-2 ใหม่ เช่น หลังจากเปลี่ยนโปรเจ็กต์ให้โหลดซ้ำบนเบราว์เซอร์ทั้งหมด
reload
- เช่นเดียวกับการรีเฟรช
dialog
- แสดงหน้าต่างโต้ตอบ ต้องมีกล่องโต้ตอบอยู่ในมุมมอง หนึ่งใน:
-
static - HTML - Dialog
-
static - Icon - Dialog
-
container - HTML - view in jqui Dialog
-
container - ext cmd - view in jqui Dialog
-
container - Icon - view in jqui Dialog
-
container - Button - view in jqui Dialog
control.data
ต้องมีรหัสของวิดเจ็ตกล่องโต้ตอบ เช่น w00056
dialogClose
popup
- เปิดหน้าต่างเบราว์เซอร์ใหม่ ต้องระบุลิงก์ใน control.data
เช่น http://google.com
playSound
- เล่นไฟล์เสียง ลิงก์ไปยังไฟล์ระบุไว้ใน control.data
เช่น http://www.modular-planet.de/fx/marsians/Marsiansrev.mp3 คุณสามารถอัปโหลดไฟล์ของคุณเองใน vis-2 และปล่อยให้มันเล่นได้เช่น /vis-2.0/main/img/myFile.mp3
เบราว์เซอร์ ที่สำคัญ ไม่สามารถเล่นเสียงได้จนกว่าผู้ใช้จะไม่ได้คลิกอย่างน้อยหนึ่งครั้งบนเพจ เป็นนโยบายการรักษาความปลอดภัยของเบราว์เซอร์ คุณสามารถอ่านเพิ่มเติมได้ที่นี่
หากผู้ใช้เปลี่ยนมุมมองหรือเมื่อเริ่มต้น ตัวแปรจะถูกเติมด้วย vis-2 ด้วย
-
control.instance
: อินสแตนซ์ของเบราว์เซอร์และ ack=true
-
control.data
: ชื่อโครงการและมุมมองในรูปแบบ project/view
เช่น main/view
(และ ack=true
) -
control.command
: changedView
และ ack=true
คุณสามารถเขียนสตริง JSON หรือ Object ลงใน control.command
เป็น {instance: 'AABBCCDD', command: 'cmd', data: 'ddd'}
ในกรณีนี้ อินสแตนซ์และข้อมูลจะนำมาจากออบเจ็กต์ JSON
ตัวอย่างสำหรับอะแดปเตอร์จาวาสคริปต์:
setState ( 'vis-2.0.control.command' , { instance : '*' , command : 'refresh' , data : '' } ) ;
หากคุณเขียน JSON เป็นสตริง ตรวจสอบให้แน่ใจว่าสามารถแยกวิเคราะห์ได้ เช่น {"instance": "*", "command": "refresh", "data": ""}
โปรดสังเกต "
มุมมองเริ่มต้น
คุณสามารถกำหนดความละเอียดที่ต้องการสำหรับทุกมุมมอง (เมนู=>เครื่องมือ=>ความละเอียด) นี่เป็นเพียงเส้นขอบภาพในโหมดแก้ไขเพื่อแสดงขนาดหน้าจอบนอุปกรณ์เฉพาะบางอย่าง ในโหมดเรียลไทม์ จะไม่สามารถมองเห็นได้ และวิดเจ็ตทั้งหมดที่อยู่นอกขอบเขตจะมองเห็นได้
นอกจากนี้ คุณสามารถกำหนดได้ว่าต้องใช้มุมมองนี้เป็นค่าเริ่มต้นสำหรับการแก้ปัญหานี้หรือไม่
ดังนั้นทุกครั้งที่มีการเรียก index.html
(โดยไม่มี #viewName
) ระบบจะเปิดมุมมองที่เหมาะสมที่สุดสำหรับมุมมองการแก้ปัญหานี้ หากมีเพียงมุมมองเดียวเท่านั้นที่มีการตั้งค่าสถานะ "ค่าเริ่มต้น" ดังนั้นมุมมองนี้จะถูกเปิดโดยไม่ขึ้นกับความละเอียดของหน้าจอหรือการวางแนว
เช่น คุณสามารถสร้างสองมุมมอง "แนวนอน-มือถือ" และ "แนวตั้ง-มือถือ" และมุมมองทั้งสองนี้จะถูกสลับโดยอัตโนมัติเมื่อคุณเปลี่ยนการวางแนวหรือขนาดหน้าจอ
มีวิดเจ็ตตัวช่วย "พื้นฐาน - ความละเอียดหน้าจอ" ที่แสดงความละเอียดหน้าจอจริงและมุมมองเริ่มต้นที่เหมาะสมที่สุดสำหรับความละเอียดนี้
ระบบการอนุญาต
โครงการ
ในกล่องโต้ตอบการจัดการโครงการ คุณสามารถกำหนดค่าสิทธิ์ read
และ write
สำหรับผู้ใช้ ioBroker แต่ละคนได้
ค่าสถานะ read
หมายความว่าโครงการสามารถเข้าถึงได้สำหรับผู้ใช้รายนี้ในรันไทม์ แฟล็ก write
หมายความว่าโปรเจ็กต์สามารถเข้าถึงได้สำหรับผู้ใช้รายนี้ในโหมดแก้ไข
เมื่อสร้างผู้ใช้ใหม่ผ่านอะแดปเตอร์ ioBroker Admin ผู้ใช้จะมีสิทธิ์ทั้งสองตามค่าเริ่มต้น
ดู
คุณยังสามารถระบุมุมมองที่ผู้ใช้ได้รับอนุญาตให้เข้าถึงสำหรับรันไทม์และโหมดแก้ไขได้ เมื่อไม่ให้สิทธิ์การเข้าถึงอย่างใดอย่างหนึ่งในระดับโปรเจ็กต์ การระบุสิทธิ์ในระดับมุมมองจะไม่มีผลกระทบใดๆ เนื่องจากจะไม่สามารถเข้าถึงโปรเจ็กต์โดยรวมได้
โปรดทราบว่าเมื่อใดก็ตามที่คุณพยายามเข้าถึงมุมมอง โดยที่ผู้ใช้ปัจจุบันไม่มีสิทธิ์ ผู้ใช้จะเห็นแผงการเลือกโครงการแทน
วิดเจ็ต
หากผู้ใช้ไม่มีสิทธิ์ read
วิดเจ็ตจะไม่ถูกเรนเดอร์ในรันไทม์ หากผู้ใช้ไม่มีสิทธิ์ write
วิดเจ็ตจะไม่ถูกแสดงผลในโหมดแก้ไข
การตั้งค่า
โหลดซ้ำหากนอนหลับนานกว่า
มีกฎว่าหลังจากขาดการเชื่อมต่อไประยะหนึ่ง หน้า VIS ทั้งหมดจะถูกโหลดซ้ำเพื่อซิงโครไนซ์โปรเจ็กต์ คุณสามารถกำหนดค่าได้ในเมนู "การตั้งค่า..." หากคุณตั้งค่าช่วงเวลาเป็น "ไม่" ดังนั้นหน้าเว็บจะไม่ถูกโหลดซ้ำ
เชื่อมต่อช่วงเวลาอีกครั้ง
ตั้งค่าช่วงเวลาระหว่างความพยายามในการเชื่อมต่อหากตัดการเชื่อมต่อ หากคุณตั้งค่าไว้ 2 วินาที ระบบจะพยายามสร้างการเชื่อมต่อทุกๆ 2 วินาที
หน้าจอเชื่อมต่อใหม่มืด
บางครั้ง (ในเวลากลางคืน) จำเป็นต้องมีหน้าจอโหลดที่มืด ด้วยตัวเลือกนี้ คุณสามารถตั้งค่าได้
โปรดสังเกตว่าการตั้งค่าเหล่านี้ใช้ได้สำหรับการเชื่อมต่อใหม่เท่านั้น ไม่ใช่สำหรับการเชื่อมต่อครั้งแรก
SVG และสีปัจจุบัน
คีย์เวิร์ด currentColor ใน CSS ช่วยให้องค์ประกอบต่างๆ สืบทอดสีข้อความปัจจุบันจากองค์ประกอบหลักได้ มีประโยชน์อย่างยิ่งใน SVG (กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้) เนื่องจากช่วยให้จัดรูปแบบแบบไดนามิกได้มากขึ้น และผสานรวมกับเนื้อหา HTML ได้ง่ายขึ้น
คุณสามารถใช้คำสำคัญ currentColor แทนค่าสีเฉพาะสำหรับคุณสมบัติใดๆ ภายใน SVG ที่ยอมรับค่าสีได้ นี่เป็นตัวอย่างง่ายๆ ที่มีวงกลมใน SVG:
">
< svg width = " 100 " height = " 100 " xmlns = " http://www.w3.org/2000/svg " >
< circle cx = " 50 " cy = " 50 " r = " 40 " fill = " currentColor " />
svg >
ในกรณีนี้ หาก SVG ใช้สีขององค์ประกอบหลัก เช่น หากใช้ในเมนูและเมนูเป็นสีแดง วงกลมก็จะเป็นสีแดง
การพัฒนาและการดีบัก
เพื่อทำการปรับเปลี่ยนตัวแก้ไข vis-2 เอง เพื่อค้นหาข้อผิดพลาดและแก้ไขจุดบกพร่อง จะต้องดำเนินการขั้นตอนต่อไปนี้
แยกพื้นที่เก็บข้อมูล iobroker/iobroker.vis-2 ลงในบัญชีของคุณเองผ่านอินเทอร์เฟซผู้ใช้ของ GitHub
โคลนพื้นที่เก็บข้อมูลลงในไดเร็กทอรี คัดลอก URL จากที่เก็บ GitHub ของคุณ คำสั่งดูเหมือน
git clone https://github.com//ioBroker.vis-2.git
เปิดพื้นที่เก็บข้อมูลที่ดาวน์โหลดมาด้วย IDE ของคุณ
เพื่อติดตั้งและดาวน์โหลดไลบรารี่ที่จำเป็นทั้งหมด ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลในไดเร็กทอรีรากของที่เก็บ
- เพื่อเริ่มโปรแกรมแก้ไขในเบราว์เซอร์ โปรดดำเนินการคำสั่งต่อไปนี้ อินสแตนซ์เซิร์ฟเวอร์ iobroker ที่ทำงานแยกต่างหากอยู่แล้วจะต้องพร้อมใช้งานบนพอร์ต 8082
- การดีบักมีอยู่ในเบราว์เซอร์ เช่น chrome F12
- หากคุณเปลี่ยนไฟล์ ระบบจะรองรับการโหลดตัวแก้ไขซ้ำอัตโนมัติ
สิ่งที่ต้องทำ
บันทึกการเปลี่ยนแปลง
2.10.7 (23-07-2567)
- (bluefox) การเพิ่มประสิทธิภาพของการรวมโมดูล
2.10.6 (2024-07-20)
- (bluefox) ปรับปรุงการพิมพ์ใน typescript
2.10.4 (2024-07-16)
- (bluefox) แก้ไขการกระโดดโดยการเลือกวัตถุ
- (bluefox) วิดเจ็ตการปัดนิ้วที่นำไปใช้
2.10.3 (11-07-2567)
- (bluefox) แปลง CanJSWidget เป็น typescript
- (bluefox) เพิ่มปุ่ม "โคลน" ให้กับกลุ่มแอ็ตทริบิวต์
2.10.2 (10-07-2567)
- (bluefox) ลบแพ็คเกจที่เข้ากันไม่ได้สำหรับสไตล์
- (bluefox) วิดเจ็ตทั้งหมดจะต้องได้รับการอัปเดต
- (bluefox) วิดเจ็ตค่าอินพุตพื้นฐานถูกย้ายไปยัง ReactJS
2.9.64 (23-05-2567)
- (bluefox) เพิ่มความเป็นไปได้ในการล้างช่องข้อความด้วยปุ่ม
2.9.63 (2024-05-15)
- (bluefox) ย้ายไฟล์บางไฟล์ไปยัง typescript
2.9.60 (2024-05-07)
- (foxriver76) ทดสอบการปล่อยอัตโนมัติ
2.9.53 (2024-05-06)
- (bluefox) อนุญาตให้ใช้สไตล์กับปุ่ม jQui
2.9.52 (25-04-2567)
- (bluefox) การนำทางได้รับการปรับปรุง: เพิ่มความกว้างของเมนูที่ปรับได้และการแก้ไขเป็นกลุ่ม
2.9.50 (19-04-2567)
- (bluefox) วิดเจ็ตที่ถูกต้องในลักษณะการทำงานของวิดเจ็ต
2.9.49 (11-04-2567)
- (bluefox) แก้ไขปุ่มเลื่อนในวิดเจ็ตแท็บ
- (bluefox) แก้ไขตัวปรับขนาดหากตั้งค่าความกว้างของเส้นขอบ
2.9.48 (30-03-2567)
- (bluefox) แสดงมุมมองที่เลือกในกล่องโต้ตอบมุมมอง
- (bluefox) เพิ่มการปรับแต่งหน้าจอการโหลด
- (bluefox) เคารพการตั้งค่าสถานะปิดการใช้งานยามใน GUI
2.9.42 (2024-03-09)
- (bluefox) อนุญาตให้จำกัดขนาดมุมมองบนเดสก์ท็อปเท่านั้น
- (bluefox) เปลี่ยนคำว่า "ตัวกรอง" เป็น "ค้นหา"
2.9.40 (2024-03-05)
- (bluefox) ย้ายวิดเจ็ตตัวกรองเพื่อตอบสนอง
- (bluefox) ย้ายวิดเจ็ตลิงก์พื้นฐานเพื่อตอบสนอง
2.9.39 (2024-03-01)
- (foxriver76) อนุญาตให้ใช้
widgetOid
ในการโยง - (foxriver76) แก้ไขปัญหาต่างๆ เกี่ยวกับวิดเจ็ต Date Picker
- (foxriver76) สร้างตัวเลือกเริ่มต้นของตัวเลือกวันที่ที่มนุษย์สามารถอ่านได้และเพิ่มตัวเลือกสำหรับวันที่แบบแยกวิเคราะห์แบบเต็ม
- (bluefox) เพิ่มความเป็นไปได้ในการเพิ่มคำต่อท้ายด้วยวิดเจ็ตการนำทาง
- (bluefox) ปรับปรุงตัวจัดการใบอนุญาต
2.9.37 (28-02-2567)
- (foxriver76) วิดเจ็ต TimePicker ตอนนี้ประหยัดเวลาแทนวันที่ตามค่าเริ่มต้น หากคุณต้องการให้พฤติกรรมเก่าใช้ช่องทำเครื่องหมาย
asDate
2.9.36 (27-02-2567)
- (foxriver76) แก้ไข CSS เฉพาะโครงการที่ไม่ได้ใช้
2.9.35 (27-02-2567)
- (foxriver76) css ที่ผู้ใช้ระบุมีลำดับความสำคัญเหนือวิดเจ็ต css
- (foxriver76) แก้ไขกรณีข้อขัดข้องสำหรับวิดเจ็ตที่จัดกลุ่มที่ใช้งานไม่ได้
2.9.34 (26-02-2567)
- (foxriver76) ตรวจจับผู้ใช้ผู้ดูแลระบบอย่างถูกต้องในกล่องโต้ตอบสิทธิ์ของโครงการ
2.9.33 (21-02-2567)
- (foxriver76) แก้ไขปัญหาที่ภาพสุดท้ายไม่แสดงในวิดเจ็ต image8
- (foxriver76) เพิ่มความเป็นไปได้ในการกำหนดสีพื้นหลังและชื่อสำหรับกล่องโต้ตอบ jqui
- (foxriver76) ทำให้สามารถคลิกผ่านภาพสัญญาณได้หากอยู่ด้านหน้าวิดเจ็ต
2.9.32 (2024-02-16)
- (foxriver76) ใช้ปุ่มเพื่อแสดงหรือซ่อนมุมมองทั้งหมดในตัวจัดการมุมมอง
- (foxriver76) แก้ไขปัญหาเกี่ยวกับสัญญาณบน RxWidgets
- (foxriver76) อนุญาตให้ปิดการใช้งาน Sentry สำหรับอินสแตนซ์นี้เท่านั้น
2.9.31 (2024-02-06)
- (foxriver76) ใช้โอเวอร์โฟลว์เริ่มต้นอย่างถูกต้อง
- (foxriver76) แก้ไขรูปแบบการนำทาง (แก้ไขพื้นหลังไอคอนและอนุญาตให้ปรับแต่งสีข้อความส่วนหัว)
2.9.30 (2024-02-06)
- (foxriver76) global css จะไม่ถูกลบอีกต่อไปในการอัพโหลด/อัพเดตอแด็ปเตอร์
- (foxriver76) อนุญาตให้ปรับเปลี่ยนรูปแบบการนำทาง
2.9.29 (2024-02-05)
- (foxriver76) แก้ไขปัญหาหลายประการกับกลุ่มที่ซ้อนกัน
- (foxriver76) ยังทำให้คำสั่ง group/ungroup ทำงานในมุมมองกลุ่มด้วย
- (foxriver76) อนุญาตให้เลือกวิดเจ็ตในกลุ่มผ่านการคลิก (ก่อนหน้านี้ใช้งานได้เฉพาะแบบเลื่อนลงเท่านั้น)
- (foxriver76) แก้ไขปัญหาแล้ว Basic Image 8 ไม่สามารถกำหนดค่าสำหรับค่า 0 ได้
2.9.28 (2024-02-03)
- (foxriver76) กำหนดอินสแตนซ์ vis ได้อย่างถูกต้องในทุกกรณี
2.9.26 (2024-02-02)
- (foxriver76) ไม่แสดงหมวดหมู่ไอคอนว่างหากเลือกสไตล์ jquery สำหรับวิดเจ็ตปุ่ม jquery
- (foxriver76) เพิ่มความเป็นไปได้ในการซ่อนการนำทางหลังจากเลือก
2.9.25 (2024-01-29)
- (foxriver76) แก้ไขปัญหาการปรับขนาดสำหรับวิดเจ็ตที่เกี่ยวข้อง
- (foxriver76) ไม่มีปัญหาเมื่อใช้การมองเห็น "สำหรับกลุ่มเท่านั้น"
- (foxriver76) จะไม่เสียหายหากวิดเจ็ตพยายามอัพเดตวิดเจ็ตในมุมมองที่ไม่มีอยู่จริง
2.9.24 (24-01-2567)
- (foxriver76) วิดเจ็ตรูปภาพ 8 ถูกย้ายไปยังการตอบสนอง
2.9.23 (24-01-2567)
- (foxriver76) แก้ไขข้อบกพร่องอื่นเนื่องจากเวอร์ชันก่อนหน้า
2.9.22 (2024-01-22)
- (foxriver76) พยายามแก้ไขปัญหาที่เกิดขึ้นใน 2.9.21
2.9.21 (19-01-2567)
- (foxriver76) แก้ไขกรณีข้อขัดข้องเมื่อแก้ไขวิดเจ็ต
- (foxriver76) แก้ไขข้อบกพร่อง ความทึบนั้นถูกนำไปใช้สองครั้งในการซ้อนทับโหมดแก้ไขรูปภาพ
2.9.20 (2024-01-18)
- (foxriver76) เพิ่มการหมดเวลาสำหรับการนำเข้าโครงการ
- (foxriver76) เพิ่มการอนุญาตในระดับวิดเจ็ต
2.9.19 (17-01-2567)
- (foxriver76) แก้ไขปัญหาเมื่อปรับขนาดวิดเจ็ตจากด้านซ้าย
- (foxriver76) เพิ่มกล่องเลือกให้กับแอตทริบิวต์มิติหากเลือกหลายวิดเจ็ต
2.9.18 (2024-01-15)
- (foxriver76) แก้ไขปัญหาที่แสดงค่าแอตทริบิวต์เก่าในบางสถานการณ์
- (foxriver76) ระบบอนุญาตเฉพาะขยายไปสู่ระดับการดู
2.9.17 (2024-01-13)
- (foxriver76) แนะนำระบบการอนุญาตเฉพาะในระดับโครงการ
2.9.16 (11-01-2567)
- (foxriver76) ใช้ค่าทางเลือกที่ถูกต้องสำหรับการกำหนดสัญญาณวิดเจ็ต
2.9.15 (2024-01-09)
- (foxriver76) แก้ไขปัญหาด้วย BulkEditor
2.9.14 (2024-01-09)
- (foxriver76) แก้ไขการเปลี่ยนแปลง y-offset ล่าสุดสำหรับวิดเจ็ตบางตัว
- (foxriver76) แก้ไขปัญหาที่ JquiState ไม่เคารพประเภทข้อมูล
- (foxriver76) แก้ไขปัญหากับ BulkEditor (กล่องโต้ตอบไม่ปิดและกล่องโต้ตอบอื่นแสดงปุ่มผิด)
- (foxriver76) ใช้ข้อผิดพลาดในการปรับขนาดวิธีแก้ปัญหาสำหรับ devbookhq/splitter#15
2.9.13 (2024-01-08)
- (foxriver76) ตรวจจับ ID ในการโยงได้อย่างถูกต้องเมื่อมีอักขระแฮช
- (foxriver76) แก้ไขข้อขัดข้องเมื่อเลือกวิดเจ็ต JquiState หลายรายการ
- (foxriver76) ป้องกันการแสดงวิดเจ็ตในกลุ่มหลังจากที่ถูกตัดออกแล้ว
- (foxriver76) ป้องกันการใช้วิดเจ็ตที่ไม่อยู่ในกลุ่มสำหรับการคำนวณไม้บรรทัดในมุมมองกลุ่ม
2.9.12 (2024-01-04)
- (foxriver76) เพิ่มประสิทธิภาพการคัดลอก/วาง/ตัดเป็นกลุ่ม
2.9.11 (2024-01-02)
- (foxriver76) แก้ไขข้อผิดพลาดพร้อมการคำนวณการมองเห็น
2.9.10 (2024-01-02)
- (foxriver76) ลบไฟล์สคริปต์ที่เพิ่มโดยไม่ได้ตั้งใจ ซึ่งทำให้เกิดปัญหา
2.9.9 (2024-01-01)
- (foxriver76) อนุญาตให้นำเข้ามุมมองโดยไม่มีแอตทริบิวต์
activeWidgets
- (foxriver76) ทำให้ BasicBulb ทำงานเหมือนเวอร์ชันเก่ามากขึ้น
- (foxriver76) แก้ไขปัญหาที่ข้อมูลของวิดเจ็ตต่างๆ แสดงในโหมดแก้ไข
- (foxriver76) แก้ไขปัญหาที่ทุกการอัปเดตสถานะใช้สำหรับการคำนวณการมองเห็น
- (bluefox) ย้ายการเลือก jQui, jQui Radio ขั้นตอนวิดเจ็ตเพื่อตอบสนอง
- (bluefox) วิดเจ็ต jQui ทั้งหมดถูกย้ายเพื่อตอบสนอง
2.9.8 (21-12-2566)
- (foxriver76) แก้ไขข้อผิดพลาดที่ไม่มีป้ายกำกับแสดงเป็นพื้นหลัง
- (foxriver76) ป้องกันการกระพริบวิดเจ็ตสั้น ๆ โดยมีเงื่อนไขการมองเห็นเมื่อโหลดเพจ
- (foxriver76) แก้ไขปัญหาการสลับธีม
2.9.7 (12-12-2566)
- (bluefox) อนุญาตให้ใช้การตั้งค่าสถานะแบบอ่านอย่างเดียวสำหรับ Styled/Input
2.9.6 (2023-12-14)
- (foxriver76) แก้ไขปัญหาเกี่ยวกับ BulkEditor
- ขณะนี้สคริปต์ (foxriver76) ใน HTML ถูกเพิ่มลงใน DOM แทนที่จะดำเนินการใน eval
- (foxriver76) แก้ไขปัญหาเกี่ยวกับวิดเจ็ต Bulb หากเติมค่าต่ำสุด/สูงสุดแล้ว
- (foxriver76) ย้ายวิดเจ็ต "speech2text" เพื่อตอบสนอง
2.9.5 (10-12-2566)
- (foxriver76) เปิดมุมมองใหม่ตั้งแต่เริ่มต้น
- (foxriver76) แก้ไขกรณีข้อขัดข้องหากใช้สัญญาณ
- (foxriver76) ตัวช่วยแก้ไขวัสดุ-การออกแบบ-วิดเจ็ต
- (foxriver76) อัปเดตการอ้างอิงเพื่อดูในวิดเจ็ตเมื่อเปลี่ยนชื่อมุมมอง
- (bluefox) วิดเจ็ตไอคอน jQui Toggle ถูกย้ายเพื่อตอบสนอง
- (bluefox) วิดเจ็ต jQui Radio ถูกย้ายเพื่อตอบสนอง
- (bluefox) วิดเจ็ตรายการวิทยุ jQui ถูกย้ายเพื่อตอบสนอง
- (bluefox) แก้ไขการเปลี่ยนแปลงล่าสุดโดยวิดเจ็ต React
2.9.4 (2023-12-04)
- (foxriver76) แก้ไขปัญหาเกี่ยวกับความกว้างของจอแสดงผล
2.9.3 (2023-12-03)
- (bluefox) เพิ่มความเป็นไปได้ในการจำกัดขนาดมุมมองอย่างหนัก
- (foxriver76) ใช้กลไกการเรียงลำดับอย่างง่ายสำหรับการนำทาง
- (foxriver76) แก้ไขการนำเข้ามุมมองซึ่งอยู่ภายในโฟลเดอร์
- (foxriver76) ธีมคงที่ยังนำไปใช้ใน iframe
- (foxriver76) อย่าใช้รหัสวิดเจ็ตซ้ำเมื่อนำเข้าหรือคัดลอกมุมมอง
- (foxriver76) ใช้วิดเจ็ตหลอดไฟพื้นฐานเป็นวิดเจ็ต React
- (foxriver76) ทำให้แท็กสคริปต์ทำงานในวิดเจ็ต html พื้นฐาน
2.9.2 (29-11-2566)
- (foxriver76) แก้ไขปฏิกิริยาในส่วนประกอบที่กำหนดเอง
- (foxriver76) การนำเข้าแบบคงที่สำหรับกลุ่ม
- (foxriver76) หลังจากสร้างกลุ่มแล้ว ตอนนี้จะถูกเลือกไว้ล่วงหน้า
- ขณะนี้ฟิลด์ (foxriver76) ได้รับการอัปเดตเมื่อย้ายผ่านแป้นพิมพ์
2.9.1 (28-11-2566)
- (foxriver76) คำนวณฟิลด์ใหม่หลังจากย้ายวิดเจ็ต
- (foxriver76) แก้ไขกลุ่มการวางในมุมมองอื่น
- (foxriver76) ธีมคงที่ยังนำไปใช้ใน iframe
- (bluefox) ใช้รูปภาพพื้นฐานเป็นวิดเจ็ต React
2.9.0 (27-11-2566)
- (bluefox) นำวิดเจ็ตรูปร่าง SVG และความละเอียดหน้าจอมาใช้
- (bluefox) ใช้ Basic iFrame เป็นวิดเจ็ต React
- (foxriver76) อนุญาตเฉพาะไฟล์ zip ที่นำเข้าโครงการเท่านั้น
- (foxriver76) แก้ไขโอเวอร์โฟลว์ที่ถูกเขียนทับ
- (foxriver76) จัดเรียงหน้าและโครงการตามตัวอักษร
- (foxriver76) แก้ไขปัญหาในการบันทึก
- (foxriver76) แก้ไขปัญหากับกลุ่มเมื่อเปิดใช้งาน
always render
- (foxriver76) อนุญาตให้เปลี่ยนสีและเขียนตัวพิมพ์เล็กในส่วนประกอบแท็บ
- (foxriver76) แก้ไขปัญหาการนำทางจากหน้า AlwaysRender แสดงในหน้าอื่น
2.8.0 (24-11-2566)
- (foxriver76) จัดเรียงโฟลเดอร์ตามตัวอักษรในมุมมองเพจ
- (foxriver76) แก้ไขวิดเจ็ตการยกเลิกการเลือกด้วย ctrl + คลิก
- (foxriver76) แก้ไขปัญหาการแสดงผลด้วยส่วนประกอบสวิตช์
- (bluefox) นำวิดเจ็ต Basic Red Number มาใช้
- (foxriver76) แก้ไขการคัดลอก / โคลนของวิดเจ็ตที่จัดกลุ่ม
- (foxriver76) แก้ไขปัญหาด้วยการเปิด/ปิดกล่องโต้ตอบผ่านสถานะ
2.7.0 (22-11-2566)
- (foxriver76) ใช้งานวิดเจ็ต Basic Bar โดยกำเนิด
2.6.4 (21-11-2566)
- (foxriver76) การสร้าง typescript แบบคงที่
2.6.3 (2023-11-20)
- (foxriver76) แก้ไขกรณีข้อขัดข้องหลายกรณี
2.6.2 (20-11-2566)
- (foxriver76) แก้ไขกรณีข้อขัดข้องเมื่อแก้ไขกลุ่ม
- (foxriver76) แก้ไขกลุ่มการวาง
- (foxriver76) แก้ไขปัญหาการกระโดดเคอร์เซอร์และลบอักขระออกขณะพิมพ์
2.6.1 (2023-11-17)
- (bluefox) แสดงข้อความ "ไฟล์ใหญ่เกินไป" โดยการอัปโหลดไอคอน
- (bluefox) สร้างแถบนำทางเพื่อดูเป็นกลุ่มของตัวเอง
- (foxriver76) จัดเรียงมุมมองตามตัวอักษร
- (foxriver76) เคารพตัวพิมพ์ใหญ่/ตัวพิมพ์เล็กในแถบเครื่องมือโครงการ
- (bluefox) คำสั่งเปลี่ยนเส้นทาง
dialog
และ dialogClose
ไปยังวิดเจ็ต
2.6.0 (2023-11-13)
- (foxriver76) ใช้งานการเลือก/ยกเลิกการเลือกปุ่มทั้งหมด
- (foxriver76) การผูกแบบคงที่ไม่ทำงาน
2.5.0 (11-11-2566)
- (foxriver76) อนุญาตให้ใช้ html จริงใน prepend-HTML และ append-HTML (วิดเจ็ตสตริงพื้นฐาน)
- (foxriver76) แก้ไขปัญหาขณะแก้ไขกลุ่ม
- (foxriver76) ไม่จัดรูปแบบข้อความของปุ่มเป็นตัวพิมพ์ใหญ่โดยอัตโนมัติ
- (foxriver76) จะไม่แสดงชื่อเพจเป็นตัวพิมพ์ใหญ่โดยอัตโนมัติ
- (bluefox) ใช้ไอคอนสัญญาณสำหรับวิดเจ็ต React
- (bluefox) ใช้ตัวบ่งชี้การเปลี่ยนแปลงล่าสุดสำหรับวิดเจ็ต React
- (bluefox) ใช้งานวิดเจ็ต SVG Bool เป็น React Component
2.4.0 (2023-11-08)
- (foxriver76) แก้ไขปัญหาเกี่ยวกับตัวกรองตัวเลือกไอคอนเมื่อเปลี่ยนหมวดหมู่
- (foxriver76) แก้ไขปัญหาที่วางเฉพาะวิดเจ็ตแรกเท่านั้น
- (bluefox) เพิ่มตัวดำเนินการเชื่อมโยง JSON
- (bluefox) อนุญาตให้ใช้ฟังก์ชันเป็นตัวกรองสำหรับ Object ID
- (bluefox) แถบมุมมองที่นำไปใช้งาน (ไม่มีเมนู)
2.3.6 (2023-11-06)
- (foxriver76) แก้ไขปัญหาเกี่ยวกับตัวแก้ไขการผูกกับแอตทริบิวต์สไตล์
- (foxriver76) ปรับปรุงประสิทธิภาพเนื่องจากการเพิ่มประสิทธิภาพในการบันทึกอัตโนมัติ
2.3.5 (2023-11-03)
- (foxriver76) อัปเดต adapter-react เพื่อให้รองรับรูปภาพที่ได้รับการปรับปรุงในตัวเลือกไฟล์
- (foxriver76) สีคงที่ของเบราว์เซอร์ไฟล์ในโหมดแสง
- (foxriver76) แก้ไขอินพุตสีที่กระโดดไปที่จุดสิ้นสุดของอินพุตเมื่อแก้ไข
2.3.4 (2023-11-02)
- (foxriver76) แก้ไขข้อขัดข้องเมื่อเลือกวิดเจ็ตหลายรายการ
- (foxriver76) ลบรายการที่ซ้ำกัน
none
ในดรอปดาวน์ border-style
- (foxriver76) แก้ไขข้อขัดข้องเมื่อจัดลำดับวิดเจ็ตใหม่
2.3.3 (30-10-2566)
- (foxriver76) แก้ไขปัญหาแล้ว vis นั้นไม่โหลดหากวิดเจ็ตเดียวมีข้อผิดพลาดของสคริปต์
- (bluefox) เพิ่มตัวแก้ไขสำหรับการผูก
- พื้นหลัง (bluefox) ไม่ได้ใช้หากอยู่ใน iframe
2.3.2 (2023-10-14)
- (bluefox) อนุญาตให้แสดงเฉพาะวิดเจ็ตที่เลือกในโหมดแก้ไข
- (bluefox) แก้ไขการคำนวณการมองเห็นสำหรับวิดเจ็ตเก่า (CanJS)
2.3.1 (2023-10-13)
- (bluefox) แก้ไขช่องว่างแนวตั้งระหว่างวิดเจ็ตที่เกี่ยวข้อง
- (bluefox) การป้อนตัวเลขที่ดีขึ้นด้วยค่าต่ำสุด/สูงสุดในกล่องโต้ตอบแอตทริบิวต์
2.3.0 (28-09-2566)
- (bluefox) วิดเจ็ต jQui (หลายอัน) ได้รับการปรับปรุง
2.2.7 (18-09-2566)
- (bluefox) ปรับปรุงตัวเลือกไอคอน: คุณสามารถอัปโหลดไอคอนของคุณเองได้โดยตรง
- (bluefox) การโหลดที่ปรับให้เหมาะสม: อย่าโหลดชุดวิดเจ็ตที่ไม่ได้ใช้
2.2.6 (17-09-2566)
- (bluefox) แก้ไขการผูกวันที่แล้ว
- (bluefox) เพิ่มประสิทธิภาพการโหลดวิดเจ็ต
- (bluefox) การนำทางแนวนอนได้รับการแก้ไขแล้ว
2.2.5 (12-09-2566)
- (bluefox) ใช้งานการนำทางแนวนอน
2.2.4 (2023-09-04)
- (bluefox) การตรวจสอบใบอนุญาตที่ถูกต้อง
2.2.2 (2023-08-16)
- (bluefox) เปลี่ยนการตั้งค่ายาม
2.2.1 (15-08-2566)
- (bluefox) เพิ่มความเป็นไปได้ในการกรองวิดเจ็ตในโหมดแก้ไข
- (bluefox) เพิ่มความเป็นไปได้ในการเปลี่ยนลำดับของวิดเจ็ตที่เกี่ยวข้องด้วยการลากและวาง
2.2.0 (2023-08-14)
- (bluefox) ปล่อยตัวผู้สมัคร 1
2.1.7 (10-08-2566)
- (bluefox) เพิ่มประสิทธิภาพการเรนเดอร์วิดเจ็ต
2.1.6 (30-07-2566)
- (bluefox) รุ่นเบต้าครั้งแรก
2.1.4 (19-07-2566)
- (bluefox) อนุญาตให้เพิ่มวิดเจ็ตลงในวิดเจ็ต
2.0.36 (2023-06-21)
2.0.29 (17-05-2566)
- (bluefox) แก้ไขข้อผิดพลาด
2.0.10 (2022-12-01)
- (bluefox) เพิ่มไฟล์เบราว์เซอร์
2.0.8 (26-11-2565)
- (bluefox) ปรับปรุงการจัดการข้อผิดพลาด
2.0.0 (2022-10-21)
- (bluefox) การสร้างภาพข้อมูลใหม่ทั้งหมด แต่บางส่วนเข้ากันได้กับเวอร์ชันก่อนหน้า
ใบอนุญาต
ลิขสิทธิ์ (c) 2021-2024 Denis Haev, https://github.com/GermanBluefox [email protected],
Creative Common Attribution-ไม่ใช้เพื่อการค้า (CC BY-NC)
http://creativecommons.org/licenses/by-nc/4.0/
เนื้อหาสั้น: ผู้ได้รับใบอนุญาตสามารถคัดลอก แจกจ่าย แสดง และดำเนินงานและสร้างผลงานลอกเลียนแบบจากงานนั้นได้ก็ต่อเมื่อให้เครดิตแก่ผู้แต่งหรือผู้อนุญาตในลักษณะที่ระบุไว้ในสิ่งเหล่านี้ ผู้ได้รับอนุญาตสามารถคัดลอก แจกจ่าย แสดง และดำเนินงานและสร้างผลงานลอกเลียนแบบจากงานนั้นเพื่อวัตถุประสงค์ที่ไม่ใช่เชิงพาณิชย์เท่านั้น (ฟรีสำหรับการใช้ที่ไม่ใช่เชิงพาณิชย์)