JavaScript Packaging"

From Documentation
m
m (correct highlight (via JWB))
 
(6 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
If you'd like to customize the client-side behavior, it will end up with some JavaScript code. The code can be packaged in several  ways depending on the size and re-usability.
 
If you'd like to customize the client-side behavior, it will end up with some JavaScript code. The code can be packaged in several  ways depending on the size and re-usability.
 +
 +
It is recommended to take a look at the [[ZK_Client-side_Reference/Introduction/Object_Oriented_Programming_in_JavaScript|Object-Oriented Programming in JavaScript]] section, if you are not familiar how ZK extends JavaScript to support the concept of packages and classes.
  
 
=Embed the JavaScript Code Directly=
 
=Embed the JavaScript Code Directly=
Line 24: Line 26:
  
 
=Put in a Separate File and Reference it in Language Addon=
 
=Put in a Separate File and Reference it in Language Addon=
If the JavaScript code will be used in every ZUML pages, it is better to package them in a separate file, and then make it part of the [[ZUML Reference/ZUML/Languages|the language definition]]. To make it part of the language definition, you could specify the following content in [[ZK Client-side Reference/Language Definition|the language addon]], say, <tt>WEB-INF/lang-addon.xml</tt>:
+
If the JavaScript code will be used in every ZUML page, it is better to package them in a separate file, and then make it part of the [[ZUML Reference/ZUML/Languages|the language definition]]. To make it part of the language definition, you could specify the following content in [[ZK Client-side Reference/Language Definition|the language addon]], say, <code>WEB-INF/lang-addon.xml</code>:
  
 
<source lang="xml">
 
<source lang="xml">
Line 33: Line 35:
 
</source>
 
</source>
  
Then, you could specify the language addon in <tt>WEB-INF/zk.xml</tt>:
+
Then, you could specify the language addon in <code>WEB-INF/zk.xml</code>:
  
 
<source lang="xml">
 
<source lang="xml">
Line 41: Line 43:
 
</source>
 
</source>
  
=Make it a WPD file for more control=
+
=Make It a WPD File for More Control=
 
Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as [[ZK Client-side Reference/Widget Package Descriptor|a WPD file]].
 
Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as [[ZK Client-side Reference/Widget Package Descriptor|a WPD file]].
  
For example, you could have a WPD file and make it loaded with the zk package (so [[ZK Developer's Reference/Performance Tips/Minimize the number of JavaScript Files to Load|it speeds up the loading]]).
+
For example, you could have a WPD file and make it loaded with the zk package (so [[ZK Developer's Reference/Performance Tips/Minimize Number of JavaScript Files to Load|it speeds up the loading]]).
  
 
<source lang="xml">
 
<source lang="xml">

Latest revision as of 03:23, 18 January 2022


JavaScript Packaging



If you'd like to customize the client-side behavior, it will end up with some JavaScript code. The code can be packaged in several ways depending on the size and re-usability.

It is recommended to take a look at the Object-Oriented Programming in JavaScript section, if you are not familiar how ZK extends JavaScript to support the concept of packages and classes.

Embed the JavaScript Code Directly

Use the script directive to embed the code directly. For example,

<!-- foo.zul -->
<?script type="text/javascript" content="jq.IE6_ALPHAFIX='.png';"?>

Alternatively, you could use the script component to embed the code.

Put in a Separate File and Reference it in the ZUML page

If there are a lot of JavaScript code, it is better to package them in a separate file, and then use the script directive to reference the file in every ZUML page that requires it.

<!-- foo.zul -->
<?script type="text/javascript" src="/myjs/foo.js"?>

Put in a Separate File and Reference it in Language Addon

If the JavaScript code will be used in every ZUML page, it is better to package them in a separate file, and then make it part of the the language definition. To make it part of the language definition, you could specify the following content in the language addon, say, WEB-INF/lang-addon.xml:

<language-addon>
    <addon-name>my.extension</addon-name><!-- any name you like -->
    <javascript src="/myjs/foo.js"/> <!-- assume you package it as /myjs/foo.js -->
</language-addon>

Then, you could specify the language addon in WEB-INF/zk.xml:

<language-config>
    <addon-uri>/WEB-INF/lang-addon.xml</addon-uri>
</language-config>

Make It a WPD File for More Control

Technically, you could do whatever you want with a JavaScript file. However, if you prefer to make it a JavaScript package, such that they will be loaded automatically when required, you could package them as a WPD file.

For example, you could have a WPD file and make it loaded with the zk package (so it speeds up the loading).

<language-addon>
    <addon-name>my.extension</addon-name><!-- any name you like -->
    <javascript package="my.foo" merge="true"/> <!-- assume you call it my.foo -->
</language-addon>

Version History

Last Update : 2022/01/18


Version Date Content
     



Last Update : 2022/01/18

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.