|
|
-
- var nextRowId=1;
-
- function renumberTableRows(){
- var row_no=1;
- var table = document.getElementById("tabbody");
- for (var i = 0, row; row = table.rows[i]; i++) {
- row.cells[0].innerHTML=row_no++;
- }
- }
-
- function deleteTableRow(rowId){
- var target = document.getElementById("upload-target"+rowId);
- var children = target.children;
-
- // delete all uploaded elements
- for (var i = 0; i < children.length; i++) {
- var tmp = children[i].getAttribute("data-id");
- $K.ajax.post({
- url: 'delete.php',
- data: 'id='+tmp,
- before: function(xhr) {},
- success: function(response) {},
- error: function(response) {}
- });
- }
-
-
- // delete the row from table
- var element = document.getElementById("trow"+rowId);
- element.parentNode.removeChild(element);
- renumberTableRows();
- // alert(rowId);
-
- }
-
- function addTableRow(){
-
- var $node = $K.dom('#tabbody');
- // create a new table row with id
- var element = document.createElement('tr');
- element.setAttribute("id", "trow"+nextRowId);
-
- var e="";
-
- // add column for position no
- e += '<td></td>';
-
- // add coluemn for description
- e += `<td><textarea name="desc[${nextRowId}]" rows="2"></textarea> </td>`;
-
- // add column for date
- e += `<td><input name="date[${nextRowId}]" type="date"/></td>`;
-
- // add column for num
- e += `<td><input name="amount[${nextRowId}]" type="num"/></td>`;
-
- // add column for file upload
- e+= `
- <td data-kube="">
- <form action="">
- <div class="form-item">
- <div class="upload"
- data-kube="upload"
- data-type="file" data-multiple="true"
- data-target="#upload-target${nextRowId}"
- data-url="upload.php" data-url-remove="delete.php"
- data-progress="true">
- </div>
- <div id="upload-target${nextRowId}" class="upload-target"></div>
- </div>
- </form>
-
- </td>
- `;
- // add delete bnutton
- e +=
- `<td><span
- onclick="deleteTableRow(${nextRowId})"
- class="close is-large">
- </span></td>`;
-
-
- $node.append(element);
- element.innerHTML=(e);
- renumberTableRows();
- nextRowId++;
- }
-
-
- function submitTable(){
- alert("submit");
-
- var obj;
-
- var table = document.getElementById("tabbody");
- for (var i = 0, row; row = table.rows[i]; i++) {
- console.log(row.cells[1]);
- // var n = row.cells[1].value;
- // alert(n);
- }
-
-
-
- }
-
-
- $K.add('module','kaform', {
- init: function(app,context){
- this.app = app;
-
- // getting context and the module element
- this.context = context;
- this.$element = context.getElement();
- },
-
- hello: function(){
- alert ("hello function of kaform");
- },
-
- start: function()
- {
-
- /*this.$element.on('keydown.kube.editable', this._hui.bind(this));
- this.$element.on('paste.kube.editable', this._hui.bind(this));
- this.$element.on('blur.kube.editable', this._hui.bind(this));
- */
-
- // alert(this.$element);
- // this.$element.on('click', this.addRow.bind(this));
- this._build();
- },
-
- addRow: function()
- {
-
- var $node = $K.dom('#tabbody');
- // create a new table row with id
- var element = document.createElement('tr');
- element.setAttribute("id", "trow"+nextRowId);
-
- var e="";
-
- // add column for position no
- e += '<td></td>';
-
- // add coluemn for description
- e += '<td><textarea rows="2"></textarea> </td>';
-
- // add column for date
- e += '<td style="overflow:visible;"><input type="date"/></td>';
-
- // add column for num
- e += '<td style="overflow:visible;"><input type="num"/></td>';
-
- // add column for file upload
-
- e+= `
- <td data-kube="">
- <form action="">
- <div class="form-item">
- <div class="upload"
- data-kube="upload"
- data-type="file" data-multiple="true"
- data-target="#upload-target${nextRowId}"
- data-url="upload.php" data-url-remove="delete.php"
- data-progress="true">
- </div>
- <div id="upload-target${nextRowId}" class="upload-target"></div>
- </div>
- </form>
-
- </td>
- `;
- // add delete bnutton
- e +=
- `<td><span
-
- onclick="deleteTableRow('trow${nextTableRow}'"
- class="close is-large">
- </span></td>`;
-
- $node.append(element);
- element.innerHTML=(e);
- renumberTableRows();
- nextRowId++;
-
-
- },
-
- // private
- _build: function()
- {
-
- },
- onmessage: {
- alert: {
- closed: function(sender)
- {
- alert(sender);
- // caught
- }
- }
- }
- });
-
-
- // startup is here
-
- $K.init({
- observer: true
- });
-
-
- // on startup clear session on server
- $K.ajax.get({
- url: 'clear.php',
- data: '', // or key=value object
- before: function(xhr) {},
- success: function(response) {},
- error: function(response) {}
- });
-
- // add on table row
- addTableRow();
|