Files
openproject/app/assets/javascripts/onboarding/work_package_tour.js
T
Henriette Dinger f47a75d153 [31023] Preparation for project edit fields: Generalize edit and display fields currently work package specific (#7726)
* Check edit fields for Work package dependencies

* Make EditForm, NotificationService, EditContext indepenedent of Work Packages

* Make EventsService independent of WorkPackages

* Start renaming WpNotificationService (WiP)

* Fix more references

* Fix typescript errors

* Add basic halEditingService

* Rename to global halResourceEditingService (WiP)

* Move typing from class to methods (WiP)

* Fix typescript errors

* Remove space in type

* Add test project widget && generalize the editFieldGroup

* Rename editing portal service

[ci skip]

* Rename WpEditFieldComponent

* Rename WpDisplayFields

* Rename display-XX-field to XX-display-field

[ci skip]

* Add WP specific ID field to distinguish between resources

* Re-add state in work package resource

* Generalize display field renderer

* Rename spent-time to wp-spent-time and fix highlight specifics

[ci skip]

* Actually load the project schema and make field editable

* Make edit-field-group.component an edit-form.component and subclass EditForm

* Remove edit context in favor of specialized EditForm

* Add special cases for work package editing

* Fix edit actions bar

* Fix codeclimate issues

* Use WorkPackageNotificationService if necessary

* Override NotificationService for WPs to allow WP specififc notifications (WiP)

* Correctly provide wpNotification service

Because the ui-router doesn't seem to correctly use the parent element's
injector, we need to provide the wpNotification service not in the
wp-base, but rather the wp-list component as well as in the isolated
query space.

* Allow to filter halEvents for specific resourceTypes (e.g. WorkPackage)

* Remove superfluous cell class constant

* Start renaming selectors for wp-edit-field into generics

* Remove wp-table--cell-span in favor of display field selector

* Consolidate other display and edit field styles

* Provide specialized service for transitions in active edit forms

* Remove superfluous overflowSelector

* Accept that date field contains some work package specifics

* Ignore unreadable files

* Provide the changeset for work packages as a hook

Since hal resource editing service is provided per query space, we
cannot register them once (would only work globally)

* Fix dangerfile

* Remove another todo in halResourceNotification service

* Fix npm TestBed for changed dependencies

* Show inplace edit field in project details widget

* Fix highlighting in single view

* Provide HalResourceEditingService outside of project context

* Used typedState for single-view

* Also provide wpNotification service in split view

* Correct check for resource type in eventsService

* Fix getSchemaName in display field renderer

* Fix passing ids into `halEditing.stopEditing`

* Do not globally inject the halResourceEditingService

There's a bug(?) in ui-router that gives you the global service before
the parent injected service for a ui-view

* Fix wpCreate service on copying and parallel creation

* Remove test project widget

* Revert changes for project details widget
2019-10-01 16:21:17 +02:00

71 lines
3.1 KiB
JavaScript

(function ($) {
$(function() {
window.wpOnboardingTourSteps = [
{
'next .wp-table--row': I18n.t('js.onboarding.steps.wp.list'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
onNext: function () {
$(".inline-edit--display-field.id a ")[0].click();
}
},
{
'next .work-packages-full-view--split-left': I18n.t('js.onboarding.steps.wp.full_view'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
'containerClass': '-dark -hidden-arrow'
},
{
'next .work-packages-back-button': I18n.t('js.onboarding.steps.wp.back_button'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
onNext: function () {
$('.work-packages-back-button')[0].click();
}
},
{
'next .add-work-package': I18n.t('js.onboarding.steps.wp.create_button'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
'shape': 'circle',
'timeout': function() {
return new Promise(function(resolve) {
// We are waiting here for the badge to appear,
// because its the last that appears and it shifts the WP create button to the left.
// Thus it is important that the tour rendering starts after the badge is visible
waitForElement('#work-packages-filter-toggle-button .badge', '#content', function() {
resolve();
});
});
},
onNext: function () {
$('#wp-view-toggle-button').click();
}
},
{
'next #wp-view-toggle-button': I18n.t('js.onboarding.steps.wp.timeline_button'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
'bottom': '-100',
onNext: function () {
$('#wp-view-context-menu .icon-view-timeline')[0].click();
}
},
{
'next .work-packages-tabletimeline--timeline-side': I18n.t('js.onboarding.steps.wp.timeline'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
'containerClass': '-dark -hidden-arrow'
},
{
'next .main-menu--arrow-left-to-project': I18n.t('js.onboarding.steps.sidebar_arrow'),
'showSkip': false,
'nextButton': {text: I18n.t('js.onboarding.buttons.next')},
onNext: function () {
$('.main-menu--arrow-left-to-project')[0].click();
}
}
];
});
}(jQuery))