https://angularjs.org/
【必要知識】
・HTML
・AngularJS(ver1.x系のみ使用可能)
・CSS
・サーバスクリプト
【作成場所】
sp_widgetテーブル
【Snow的お作法】
サーバー⇒クライアント
クライアント⇒サーバー
の参照・受け渡しができれば大体のことはできるようになります
※サーバーはonLoad時に動くため、サーバーからの参照は
クライアント側からデータを渡してあげないと読めないかも、、
サーバーから受取り
<HTML>
<p>{{data.incList.sysid}}</p> <!-- temp.xxxで設定した部分をdata.配列.xxxで呼べる -->
<p>{{data.incList.length}}</p> <!-- GlideRecordの件数を出したいとき -->
<p>{{data.incList|json}}</p> <!-- 全てのデータをjson形式で表示(デバッグ用) -->
<Server script>
(function() {
data.userID = gs.getUserID().toString();
data.incList = [];
var gr = new GlideRecord('incident');
gr.query();
while(gr.next()){
var temp = {}
temp.sysid = gr.sys_id;
temp.number = gr.number;
…
data.incList.push(temp);
}
})();
<Client script>
console.log($scope.data.userID)// ⇒ サーバー側で定義したdata.userIDの値(ユーザのsysid)
console.log(data.incList) // ⇒ object全て
console.log(data.incList[0]) // ⇒ 0番目のobject
console.log(data.incList[0].sysid) // ⇒ 0番目のobjectのsysid
サーバーへの渡し
<HTML>
<input type="text" placeholder="Please enter word!" ng-model="c.data.str">
<input type="button" value="Submit" ng-click="c.submit()">
<Server script>
(function() {
if (input){ // Client scriptアップデートトリガー
if(input.action == 'createMessage'){ // アクション名を読み込む
gs.addErrorMessage(input.str); // クライアント側c.data.xxxは input.xxxに格納される
}
}
})();
<Client script>
function ($scope, $location, spUtil, amb, $http) { // 決まり文句
var c = this; // 決まり文句(controllerAsの変数を指定すること)
c.submit = function() {
c.data.action = "createMessage"; // サーバーに渡すアクション名
c.server.update().then(function(){ // サーバーをアップデートする
c.data.action = undefined; // アップデートしたら空のアクション名を渡す
c.data.str = "";
});
};
}
<controllerAs>
c
【必要知識】
・HTML
・AngularJS(ver1.x系のみ使用可能)
・CSS
・サーバスクリプト
【作成場所】
sp_widgetテーブル
【Snow的お作法】
サーバー⇒クライアント
クライアント⇒サーバー
の参照・受け渡しができれば大体のことはできるようになります
※サーバーはonLoad時に動くため、サーバーからの参照は
クライアント側からデータを渡してあげないと読めないかも、、
サーバーから受取り
<HTML>
<p>{{data.incList.sysid}}</p> <!-- temp.xxxで設定した部分をdata.配列.xxxで呼べる -->
<p>{{data.incList.length}}</p> <!-- GlideRecordの件数を出したいとき -->
<p>{{data.incList|json}}</p> <!-- 全てのデータをjson形式で表示(デバッグ用) -->
<Server script>
(function() {
data.userID = gs.getUserID().toString();
data.incList = [];
var gr = new GlideRecord('incident');
gr.query();
while(gr.next()){
var temp = {}
temp.sysid = gr.sys_id;
temp.number = gr.number;
…
data.incList.push(temp);
}
})();
<Client script>
console.log($scope.data.userID)// ⇒ サーバー側で定義したdata.userIDの値(ユーザのsysid)
console.log(data.incList) // ⇒ object全て
console.log(data.incList[0]) // ⇒ 0番目のobject
console.log(data.incList[0].sysid) // ⇒ 0番目のobjectのsysid
サーバーへの渡し
<HTML>
<input type="text" placeholder="Please enter word!" ng-model="c.data.str">
<input type="button" value="Submit" ng-click="c.submit()">
<Server script>
(function() {
if (input){ // Client scriptアップデートトリガー
if(input.action == 'createMessage'){ // アクション名を読み込む
gs.addErrorMessage(input.str); // クライアント側c.data.xxxは input.xxxに格納される
}
}
})();
<Client script>
function ($scope, $location, spUtil, amb, $http) { // 決まり文句
var c = this; // 決まり文句(controllerAsの変数を指定すること)
c.submit = function() {
c.data.action = "createMessage"; // サーバーに渡すアクション名
c.server.update().then(function(){ // サーバーをアップデートする
c.data.action = undefined; // アップデートしたら空のアクション名を渡す
c.data.str = "";
});
};
}
<controllerAs>
c