Skip to content

Commit 8bfbfac

Browse files
authored
Fix bug where subscriptions would not update on query change (#1249)
Fix bug where subscriptions would not update on query change * Ensure lumino tabs are created with unique IDs
1 parent 9679dc6 commit 8bfbfac

18 files changed

+56
-198
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ ones in. -->
1818
[#1187](https://github.com/cylc/cylc-ui/pull/1187) - Improved the workflow
1919
filtering menu in the sidebar.
2020

21+
### Fixes
22+
23+
[#1249](https://github.com/cylc/cylc-ui/pull/1249) - Fix tasks not loading
24+
when navigating between workflows in the standalone `#/tree/` and `#/table/`
25+
views.
26+
2127
-------------------------------------------------------------------------------
2228
## __cylc-ui-1.5.0 (<span actions:bind='release-date'>Released 2023-02-20</span>)__
2329

src/components/cylc/workflow/index.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/mixins/subscriptionComponent.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,17 @@ export default {
3535
],
3636
beforeMount () {
3737
this.$workflowService.subscribe(this)
38+
this.$workflowService.startSubscriptions()
3839
},
3940
beforeDestroy () {
4041
this.$workflowService.unsubscribe(this)
42+
},
43+
watch: {
44+
query () {
45+
// if the query changes, unsubscribe & re-subscribe
46+
this.$workflowService.unsubscribe(this)
47+
this.$workflowService.subscribe(this)
48+
this.$workflowService.startSubscriptions()
49+
}
4150
}
4251
}

src/mixins/subscriptionView.js

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/views/Dashboard.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
168168
import { mapState, mapGetters } from 'vuex'
169169
import { mdiBook, mdiBookMultiple, mdiBookOpenVariant, mdiCog, mdiHubspot, mdiTable } from '@mdi/js'
170170
import pageMixin from '@/mixins/index'
171-
import subscriptionViewMixin from '@/mixins/subscriptionView'
172171
import subscriptionComponentMixin from '@/mixins/subscriptionComponent'
173172
import { createUrl } from '@/utils/urls'
174173
import { WorkflowState, WorkflowStateOrder } from '@/model/WorkflowState.model'
@@ -179,8 +178,7 @@ export default {
179178
name: 'Dashboard',
180179
mixins: [
181180
pageMixin,
182-
subscriptionComponentMixin,
183-
subscriptionViewMixin
181+
subscriptionComponentMixin
184182
],
185183
metaInfo () {
186184
return {

src/views/Graph.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ import gql from 'graphql-tag'
9696
import { mapGetters } from 'vuex'
9797
import pageMixin from '@/mixins/index'
9898
import graphqlMixin from '@/mixins/graphql'
99-
import subscriptionViewMixin from '@/mixins/subscriptionView'
10099
import subscriptionComponentMixin from '@/mixins/subscriptionComponent'
101100
import SubscriptionQuery from '@/model/SubscriptionQuery.model'
102101
// import CylcTreeCallback from '@/services/treeCallback'
@@ -203,8 +202,7 @@ export default {
203202
mixins: [
204203
pageMixin,
205204
graphqlMixin,
206-
subscriptionComponentMixin,
207-
subscriptionViewMixin
205+
subscriptionComponentMixin
208206
],
209207
name: 'Graph',
210208
components: {

src/views/Guide.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
191191
import Task from '@/components/cylc/Task'
192192
import Job from '@/components/cylc/Job'
193193
import { TaskStateUserOrder } from '@/model/TaskState.model'
194-
import subscriptionViewMixin from '@/mixins/subscriptionView'
195194
196195
export default {
197196
name: 'Guide',
198-
mixins: [subscriptionViewMixin],
199197
components: {
200198
task: Task,
201199
job: Job

src/views/Log.vue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
8989
import { mdiFileDocumentMultipleOutline } from '@mdi/js'
9090
import pageMixin from '@/mixins/index'
9191
import graphqlMixin from '@/mixins/graphql'
92-
import subscriptionViewMixin from '@/mixins/subscriptionView'
93-
import subscriptionMixin from '@/mixins/subscriptionComponent'
92+
import subscriptionComponentMixin from '@/mixins/subscriptionComponent'
9493
import LogComponent from '@/components/cylc/log/Log'
9594
import SubscriptionQuery from '@/model/SubscriptionQuery.model'
9695
import { LOGS_SUBSCRIPTION } from '@/graphql/queries'
@@ -116,8 +115,7 @@ export default {
116115
mixins: [
117116
pageMixin,
118117
graphqlMixin,
119-
subscriptionMixin,
120-
subscriptionViewMixin
118+
subscriptionComponentMixin
121119
],
122120
name: 'Log',
123121
components: {

src/views/Table.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import { mapState, mapGetters } from 'vuex'
3232
import { mdiTable } from '@mdi/js'
3333
import pageMixin from '@/mixins/index'
3434
import graphqlMixin from '@/mixins/graphql'
35-
import subscriptionViewMixin from '@/mixins/subscriptionView'
3635
import subscriptionComponentMixin from '@/mixins/subscriptionComponent'
3736
import TableComponent from '@/components/cylc/table/Table.vue'
3837
import SubscriptionQuery from '@/model/SubscriptionQuery.model'
@@ -43,8 +42,7 @@ export default {
4342
mixins: [
4443
pageMixin,
4544
graphqlMixin,
46-
subscriptionComponentMixin,
47-
subscriptionViewMixin
45+
subscriptionComponentMixin
4846
],
4947
name: 'Table',
5048
components: {

src/views/Tree.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import { mapState, mapGetters } from 'vuex'
3838
import { mdiFileTree } from '@mdi/js'
3939
import pageMixin from '@/mixins/index'
4040
import graphqlMixin from '@/mixins/graphql'
41-
import subscriptionViewMixin from '@/mixins/subscriptionView'
4241
import subscriptionComponentMixin from '@/mixins/subscriptionComponent'
4342
import SubscriptionQuery from '@/model/SubscriptionQuery.model'
4443
import TreeComponent from '@/components/cylc/tree/Tree'
@@ -48,8 +47,7 @@ export default {
4847
mixins: [
4948
pageMixin,
5049
graphqlMixin,
51-
subscriptionComponentMixin,
52-
subscriptionViewMixin
50+
subscriptionComponentMixin
5351
],
5452
name: 'Tree',
5553
components: {

0 commit comments

Comments
 (0)