# Perspective Dashboard component widgets save during session(Runtime)

**URL:** <https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339>\
**Category:** Ignition Early Access\
**Tags:** database, perspective, scripting, ignition81\
**Created:** [January 25, 2022, 5:39am UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339 "2022-01-25T05:39:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Baskar\_Arumugam](https://avatars.discourse-cdn.com/v4/letter/b/94ad74/32.png) [@Baskar\_Arumugam](https://forum.inductiveautomation.com/u/Baskar_Arumugam)\
**Post date:** [January 25, 2022, 5:39am UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/1 "2022-01-25T05:39:58Z")

</div>

Hello, everyone. I hope you are all doing well. I **want to add widgets to the dashboard component during a perspective session (runtime)** and keep the widgets added for the next session. Anybody who knows about this, please give me some guidance.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [January 25, 2022, 10:11am UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/2 "2022-01-25T10:11:30Z")

</div>

The only thing that changes should be the props.widgets.  
So you would have to save the props.widgets in a db (based on user). And load those back in there.  
As json seems easiest to do using the system.util.jsonEncode and jsonDecode

---

<div class="post-metadata">

**Author:** ![jakned](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jakned](https://forum.inductiveautomation.com/u/jakned)\
**Post date:** [May 26, 2022, 2:22pm UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/3 "2022-05-26T14:22:43Z")

</div>

Hi, I wanted to deal with this by having property change script on widgets property. My code looks like this:

```auto
	conf = system.util.jsonEncode(currentValue.value)
	
	system.db.runNamedQuery(
		"App/Configuration/Save Config", 
		{
			"type": "dashboard_widgets",
			"user": self.session.props.auth.user.id,
			"value": conf
		}
	)

```

The value in the db looks like this:

```auto
[{"value":{"isConfigurable":{"value":false,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"name":{"value":"My Score","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"header":{"value":{"style":{"value":{"classes":{"value":"","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"title":{"value":"","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"enabled":{"value":false,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"minSize":{"value":{"columnSpan":{"value":1,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"rowSpan":{"value":1,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"style":{"value":{"classes":{"value":"","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"position":{"value":{"columnEnd":{"value":4,"quality":{"code":0},"timestamp":"May 26, 2022, 4:10:36 PM"},"columnStart":{"value":1,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"rowStart":{"value":1,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"rowEnd":{"value":3,"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"viewParams":{"value":{},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:48 PM"},"body":{"value":{"style":{"value":{"classes":{"value":"","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"},"viewPath":{"value":"Modules/Embedded/Dashboard/Personal Score","quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}},"quality":{"code":0},"timestamp":"May 26, 2022, 4:06:52 PM"}]

```

Is there a way to make it right?

---

<div class="post-metadata">

**Author:** ![Baskar\_Arumugam](https://avatars.discourse-cdn.com/v4/letter/b/94ad74/32.png) [@Baskar\_Arumugam](https://forum.inductiveautomation.com/u/Baskar_Arumugam)\
**Post date:** [May 27, 2022, 9:06am UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/4 "2022-05-27T09:06:28Z")

</div>

Yeah Yes. But You need to decode the data while read by the query

Transform the named query results to script then run the below code

**return system.util.jsonDecode(value)**

---

<div class="post-metadata">

**Author:** ![jakned](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jakned](https://forum.inductiveautomation.com/u/jakned)\
**Post date:** [May 27, 2022, 12:34pm UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/5 "2022-05-27T12:34:45Z")

</div>

My problem was reading the property. Trick was to read the “widgets” property not the currentValue.value.

---

<div class="post-metadata">

**Author:** ![Baskar\_Arumugam](https://avatars.discourse-cdn.com/v4/letter/b/94ad74/32.png) [@Baskar\_Arumugam](https://forum.inductiveautomation.com/u/Baskar_Arumugam)\
**Post date:** [May 27, 2022, 12:55pm UTC](https://forum.inductiveautomation.com/t/perspective-dashboard-component-widgets-save-during-session-runtime/55339/6 "2022-05-27T12:55:32Z")

</div>

What is your requirement, can you explain clearly. If you have any attachement please attach here for reference
