之前用Silverlight實現過一個流程設計器(Demo),使用起來不是很方便。打算參考GooFlow,結合自己對工作流的理解,用jQuery改造實現一個,力求簡單實用。
第一步是要構建設計器的UI界面,如下:
用到的圖標有:
用CSS精靈工具如CSS Satyr可以把它們合在一起。
C#的String.format用習慣,覺得js里拼字符串不好使,先模擬實現一個:
function formatString() { var formatStr = arguments[0]; if (typeof formatStr === 'string') { var pattern; for (var i = 1; i < arguments.length; i++) { pattern = new RegExp('\\{' + (i - 1) + '\\}', 'g'); formatStr = formatStr.replace(pattern, arguments[i]); } } else { formatStr = ''; } return formatStr; };
采用的jQuery插件寫法:
(function ($, undefined) { //定義GoFlow類 GoFlow = function () { }; //初始化GoFlow對象(gfDiv:jQuery對象;opts:參數) GoFlow.prototype.init = function (gfDiv, opts) { }; //插件的定義 $.fn.goflow = function (opts) { }; })(jQuery); //閉包結束
演示地址:Demo
微信演示公眾號: