Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

How to implement onMove?

If I have a property of type array and allowMove is set to true. When I move an item the property panel is updated but I get this error

TypeError: undefined is not a function at Object.f.sortableOptions.onMove

I have tried to add sortableOptions to the definition of the array and to the items in the array but it doesn't work.

How can I fix this?

Cheers

Karl

1 Solution

Accepted Solutions
Not applicable
Author

I figured out a way to fix the problem. I don't no if it's the right way but it works.

I created a component based of the list component, but change the onMove function and changed the last row.

onMove: function(old_index, new_index) {

  if (new_index >= f.listData.length) {

        var k = new_index - f.listData.length;

        while ((k--) + 1) {

            f.listData.push(undefined);

        }

    }

    f.listData.splice(new_index, 0, f.listData.splice(old_index, 1)[0]);

    f.$emit("saveProperties");

  }

...

return a.addComponent("kfMeasureList", g), g

I used the new component in my extension and change the component property to kfMeasureList

View solution in original post

1 Reply
Not applicable
Author

I figured out a way to fix the problem. I don't no if it's the right way but it works.

I created a component based of the list component, but change the onMove function and changed the last row.

onMove: function(old_index, new_index) {

  if (new_index >= f.listData.length) {

        var k = new_index - f.listData.length;

        while ((k--) + 1) {

            f.listData.push(undefined);

        }

    }

    f.listData.splice(new_index, 0, f.listData.splice(old_index, 1)[0]);

    f.$emit("saveProperties");

  }

...

return a.addComponent("kfMeasureList", g), g

I used the new component in my extension and change the component property to kfMeasureList