Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning

This demo will not work when used by anonymous users, as it uses REST APIs to update the records stored (changing their order). And this is not allowed for anonymous users, as anonymous users don't "own" a record and therefore the update will not happen

 


form itself

ConfiForms Form Definition
formNamef
allowReadstrue
 confluence-usersINLINE


titleTitletext

ordernrOrderNrnumber

ordernr=([entry._countordernr]+1)Lookup and set valuef:12222999ordernr DESC LIMIT 1

records

ConfiForms TableView
formNamef
sortordernr ASC

ordernr

title

 

Source

You will need to change the pageId parameter and the server URl in this line

url: 'https://wiki.vertuna.com/ajax/confiforms/rest/update.action?pageId=12222999&f=f1&q=id:' + entryId + '&fv=ordernr:' + (i+1),
HTML
<script>
  
 var fixHelperModified = function(e, tr) {
    var $originals = tr.children();
    var $helper = tr.clone();
    $helper.children().each(function(index) {
        AJS.$(this).width($originals.eq(index).width())
    });
    return $helper;
},
    updateIndex = function(e, ui) {
        AJS.$('td.cf_ordernr span', ui.item.parent()).each(function (i) {
            var currentIndex = AJS.$(this).html(i + 1);
           });
 
		AJS.$(".cf_f_table tbody").find('tr').each(function(i, tr){
			var if (currentIndex != (i+1)) {
              var entryId = AJS.$(this).closest('tr').attr('confi-data-id');

			              AJS.$.ajax({
        		url: 'https://wiki.vertuna.com/ajax/confiforms/rest/update.action?pageId=12222999'+ AJS.Meta.get('page-id') +'&f=f&q=id:' + entryId + '&fv=ordernr:' + (i+1),
        		type: "GET",
                async: true,
                cache: false,
        		success: function (data) {
         		
        		}  
			  });
            }
            AJS.$(this).html(i + 1);
        });
    };

AJS.$(".cf_f_table tbody").sortable({
    helper: fixHelperModified,
    stop: updateIndex
}).disableSelection();
 
 
</script>
Warning
Code Block


Source code for solution:

Expand
titleClick here to expand the source
Code Block
<p>form</p>
<ac:structured-macro ac:macro-id="fcf72246-a695-44d5-b265-b3991503ecf3" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">f1</ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:macro-id="6b21d235-3cb2-4f1c-b95c-1a7b09df9071" ac:name="confiform-entry-register" ac:schema-version="1">
      <ac:rich-text-body>
        <p>
          <br/>
        </p>
      </ac:rich-text-body>
    </ac:structured-macro>
    <p>
      <ac:structured-macro ac:macro-id="76d1b01f-667b-4025-86a7-876f87dcdf3d" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">title</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Title</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="82dec850-ce96-4cd6-8cf9-47e641e8904f" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">ordernr</ac:parameter>
        <ac:parameter ac:name="fieldLabel">OrderNr</ac:parameter>
        <ac:parameter ac:name="type">number</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="9b0d4fb7-95c2-435f-8f17-9efa58addf21" ac:name="confiform-field-definition-rules" ac:schema-version="1">
      <ac:parameter ac:name="condition">id:[empty]</ac:parameter>
      <ac:parameter ac:name="fieldName">ordernr=(ZEROIFEMPTY("[entry.ordernr]")+1)</ac:parameter>
      <ac:parameter ac:name="action">Lookup and set value</ac:parameter>
      <ac:parameter ac:name="values3">ordernr DESC LIMIT 1</ac:parameter>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<p>records</p>
<ac:structured-macro ac:macro-id="4cc00cf5fbf5adfd-1070f16a-4a2848a9-824f9b3b-b0d7ec842421ea03ce35bdf9" ac:name="confiform-table" ac:schema-version="1">
  <ac:parameter ac:name="formName">f<>f1</ac:parameter>
  <ac:parameter ac:name="sort">ordernr ASC</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="c3b75cf6-477a-49b2-9f8e-d9267c81dceb" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">ordernr</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="33d8e448-f88d-4f62-94b7-05ba87601181" ac:name="confiform-field" ac:schema-version="1">
      <ac:parameter ac:name="fieldName">title</ac:parameter>
    </ac:structured-macro>
    <p>
      <br/>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="c0a424df-5b20-486c-8045-71b66e9e9814" ac:name="html" ac:schema-version="1">
  <ac:plain-text-body><![CDATA[<script>
 
var fixHelperModified = function(e, tr) {
    var $originals = tr.children();
    var $helper = tr.clone();
    $helper.children().each(function(index) {
        AJS.$(this).width($originals.eq(index).width())
    });
    return $helper;
},
    updateIndex = function(e, ui) {
        AJS.$('td.cf_ordernr span', ui.item.parent()).each(function (i) {
            var currentIndex = AJS.$(this).html(i + 1);
            });
 
		AJS.$(".cf_f_table tbody").find('tr').each(function(i, tr){
			varif (currentIndex != (i+1)) {
              var entryId = AJS.$(this).closest('tr').attr('confi-data-id');
			              AJS.$.ajax({
        		url: 'https://wiki.vertuna.com/ajax/confiforms/rest/update.action?pageId=12222999'+ AJS.Meta.get('page-id') +'&f=f1f&q=id:' + entryId + '&fv=ordernr:' + (i+1),
        		type: "GET",
                async: true,
                cache: false,
        		success: function (data) {
         		
        		}  
			  });
            }
            AJS.$(this).html(i + 1);
        });
    };

AJS.$(".cf_f_table tbody").sortable({
    helper: fixHelperModified,
    stop: updateIndex
}).disableSelection();
 
 
</script>]]></ac:plain-text-body>
</ac:structured-macro>