在Google Apps脚本中应用DRY原则

时间:2012-07-26 23:23:04

标签: javascript css google-apps-script zurb-foundation

尝试在Google Apps脚本中进行一些简洁的编程。有谁知道如何重用重复的方法/属性链?例如:

var lblDate = app.createLabel("Date")
    .setId('lblDate')
    .setStyleAttribute("fontFamily", "\"Helvetica Neue\", \"HelveticaNeue\", Helvetica,   Arial, \"Lucida Grande\", sans-serif")
    .setStyleAttribute("fontSize", "14px")
    .setStyleAttribute("fontSize", "1.4rem")
    .setStyleAttribute("lineHeight", "1")
    .setStyleAttribute("color", "#222222")
    .setStyleAttribute("position", "relative");

这个问题对我有很多影响,但是手头的任务(上图)是仅使用GAS Javascript将Zurb Foundation样式应用于各种表单元素。

任何参赛者?

1 个答案:

答案 0 :(得分:5)

你可以这样做:

function applyCSS(element, style) {
  for (var key in style) {
    element.setStyleAttribute(key, style[key]);
  }
}

var _zurb1 = 
  {
    "fontFamily": "\"Helvetica Neue\", \"HelveticaNeue\", Helvetica,   Arial, \"Lucida Grande\", sans-serif",
    "fontSize": "14px",
    "fontSize": "1.4rem",
    "lineHeight": "1",
    "color": "#222222",
    "position": "relative"
  }

然后在你的主要代码中:

var lblDate = app.createLabel("Date").setId('lblDate');
applyCSS(lblDate, _zurb1);

此方法的全部功劳归功于Google Script(Enterprise Application Essentials)的作者James Ferreira。


编辑(4/09/2012)

使用新的setStyleAttributes()方法,我认为您现在可以取消applyCSS()函数并使用:

var lblDate = app.createLabel("Date").setId('lblDate').setStyleAttributes(_zurb1);