| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // TODO: This file was created by bulk-decaffeinate.
- // Sanity-check the conversion and remove this comment.
- /*
- * decaffeinate suggestions:
- * DS002: Fix invalid constructor
- * DS101: Remove unnecessary use of Array.from
- * DS206: Consider reworking classes to avoid initClass
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
- */
- const Cls = (app.views.Path = class Path extends app.View {
- constructor(...args) {
- this.onClick = this.onClick.bind(this);
- this.afterRoute = this.afterRoute.bind(this);
- super(...args);
- }
- static initClass() {
- this.className = '_path';
- this.attributes =
- {role: 'complementary'};
-
- this.events =
- {click: 'onClick'};
-
- this.routes =
- {after: 'afterRoute'};
- }
- render(...args) {
- this.html(this.tmpl('path', ...Array.from(args)));
- this.show();
- }
- show() {
- if (!this.el.parentNode) { this.prependTo(app.el); }
- }
- hide() {
- if (this.el.parentNode) { $.remove(this.el); }
- }
- onClick(event) {
- let link;
- if (link = $.closestLink(event.target, this.el)) { this.clicked = true; }
- }
- afterRoute(route, context) {
- if (context.type) {
- this.render(context.doc, context.type);
- } else if (context.entry) {
- if (context.entry.isIndex()) {
- this.render(context.doc);
- } else {
- this.render(context.doc, context.entry.getType(), context.entry);
- }
- } else {
- this.hide();
- }
- if (this.clicked) {
- this.clicked = null;
- app.document.sidebar.reset();
- }
- }
- });
- Cls.initClass();
|