6

Minicheckliste

Um kleine Aufgaben im Team zu verteilen habe ich nach einer Möglichkeit gesucht für eine Minicheckliste auf deren Dash. Dabei wollte ich kein kompliziertes Aufgabenmanagementsystem und schon gar nicht viel Mühe beim Eingeben mit Prioritäten und Datum etc. Aufgabe abarbeiten, abhacken, gut.

Hier mal meine Version. Eingabe über ein simples Textfeld. Wenn ich den Eintrag mit einer Raute (#) beende, wird die einzige Priorität vergeben und die Sortierung der Liste beeinflußt. Es sind ein paar Trigger in den Feldern und da ein dmulti zugrunde liegt, noch eine Kniff, damit dieses nicht "überläuft" wenn ich es mit der Aufgabenverteilung übertreibe;-). D.h. die abgehackten Posten verschwinden aus dem dmulti, sind natürlich in der Basistabelle weiter erhalten. Wer den CSS-Hack nicht mag, kann das Feld, welches ich mal nicht ganz unsichtbar gemacht habe, löschen. Dann viel Spass damit. Mirko

P.S. Ihr habt einen Bug gefunden? Dann bitte schreiben, denn ich habe zwei Versionen im Alltag für mich laufen.

17 Antworten

null
    • mirko3
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Ich habe zwar Deinen Anfrage als email erhalten, er ist hier aber nicht zu sehen. Hier die Antwort. 

    first(select dash).('my wishes' := [null])
    

    Wenn im dmulti ein Beitrag ausgewählt wird, dann wird in der Tabelle "wishes" im zugehörigen Feld das  ja/nein Feld "check" ausgewählt. Im dmulti wird dadurch in der select Auswahl der Filter aktiviert und das Feld verschwindet aus der Anzeige, ist jedoch im dmulti angekreuzt noch vorhanden. Jetzt würde über die Zeit das dmulti "volllaufen", was die obige Zeile verhindert. Nun mache ich mir zunutze, dass ein dmulti über ein Array gefüllt werden kann (oder gelöscht). Ich lösche somit alle angekreuzten Felder (setze sie auf leer), da sie aber weiterhin in der Tabelle "wishes" das Feld "check" besitzen, werden sie im dmulti durch den Filter nicht mehr berücksichtigt. Du kannst das mal überprüfen, wenn Du die Codezeile entfernst und neben dem dmulti ein f(x) Feld anlegst mit nubmers(dmulti), jetzt würdest du da jede ausgewählten, alten Beitrag als Array sehen. Das wollte ich vermeiden. Mirko

    • john_eans
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Danke für die Erklärung!

     Ich hatte den Denkfehler, das die Checkboxen des dMulti ja nicht die Checkboxen der einzelnen „wishes“ sind.

     Hab mich da jetzt auch mal ausgiebiger mit befasst und endlich verstanden, warum so manches Vorhaben von mir nicht funktioniert hat. Es gibt bei den dMulti Feldern ja quasi 3 Stadien: null, true und false

     und dank deiner Erklärung:

     nur weil ein Wert nichtmehr angezeigt wird, ist es unter Umständen trotzdem nicht „null“

    • Heinrich Frey Maschinenbau GmbH
    • Christian_Rott
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko, gefällt mir sehr gut. Wie könnte ich das erweitern das ich es unseren Benutzern im Team zuweisen kann und nur der den es betrifft sieht?

      • mirko3
      • vor 4 Monaten
      • Gemeldet - anzeigen

      Als Soloplayer kenne ich mit der Benutzervergabe nicht gut aus. Konnte es also nur für meine eigene ID kontrollieren. Anbei ein Vorschlag.

      Der Trigger liegt jetzt in einem Auswahlfeld in der Tabelle "admin". Dort mußt Du in dem switch-case Statement noch die userId() aller Benutzer nachtragen und das Auswahlfeld natürlich ergänzen. Es ginge auch mit einem dchoice Feld, aber zur Demo wird es genügen. Dann gibt es ein weiteres Feld in der Tabelle "wishes" und der Filter in der Checkliste ist geändert. So müßte es gehen. Mirko

      • Rafael_Sanchis
      • vor 4 Monaten
      • Gemeldet - anzeigen

       

      Hi I'm late but as the Calendar & Search Hide 

      • mirko3
      • vor 4 Monaten
      • Gemeldet - anzeigen

      is hide in db options

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 4 Monaten
      • Gemeldet - anzeigen

       Besten Dank dafür.

      Ich habe es schon mal probiert sieht gut aus. 

      DANKE

      • john_eans
      • vor 4 Monaten
      • Gemeldet - anzeigen

       ich hab das auch über den Freitext gelöst. Wenn ich nach der Aufgabe noch @NAME eingebe wird es dem oder den entsprechenden Usern zugeordnet.

    • mirko3
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Und dann war da noch die Sache mit

    • einfachen Wiederholungsterminen (Eintrag über 3d, oder 14w, oder 3m, oder 2y),
    • der tabellarischen anmutenden Darstellung durch monospace Schrift,
    • der Anzeige des Ablaufdatums und des Turnus,
    • Kennzeichnung Wiederholungstermin/einmaliger Termin durch Icon,
    • rot <= today(), grau > today(),
    • der Farbe wie das Aprikoseneis, was ich gestern hatte 
    • glutenfrei

      • Maurice
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Danke Mirko. Tolle Vorlage, die mich, weil wieder Lust auf was Neues, wieder einige Nächte kosten wird. :-) Muss erstmal genau durchsteigen und dann an meine etwas komplexere checkliste anpassen.

      Du schreibst, dass es eine Mini-ToDo auf dem Dashboard der Nutzer ist. Ist das Dashboard personalisiert? Nutzt du dazu die Page/Seite Funktion von Ninox mit der userID als Filter oder hast du ein Dashboard mit mehreren Datensätzen gebaut - pro User ein Datensatz, siehe Diskussion hier:

      https://forum.ninox.de/t/y4yyh2j/konvertieren-von-page-tabelle#x2yy3la

      Maurice

      • Maurice
      • vor 3 Monaten
      • Gemeldet - anzeigen

       ich bin im html gar nicht firm und habe selbst keine Lösung gefunden.

      Auf dem dashboard mit der Aufgabenübersicht möchte ich noch ein DMAF platzieren (jede Aufgabe ist einem Projekt zugeordnet; darüber kann ich dann noch filtern). Ich möchte aber, dass sich die Darstellung dieses DMAF nach Standard-Ninox-Layout orientiert und nicht der css() Funktion in den globalen Einstellungen. Wie kann man so etwas realisieren, dass ein Seitenelement (Komponente) nicht der globalen Einstellung unterliegt?

      • mirko3
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Bin gerade eingespannt in der Arbeit, schreibe hier am WE eine Lösung. Mirko

      • mirko3
      • vor 3 Monaten
      • Gemeldet - anzeigen

      Geht doch schon mal eher. Ändere den Code der globalen Funktion so:

      function css() do
      <style>
      .component.editor.editor-dmulti:nth-child(3) {
          background-color: #fce8d7;
          border: 2px solid #f7bb88;
          border-radius:.5em;
          font-family:'Courier New';
          font-size:1.1em;
          color:darkslategray;
      }
      .component.editor.editor-dmulti label:nth-child(3) {
          font-size:1.5em;
          text-align:center;
          color:black;
          }
      </style>
        ")
      end
      

      Die Zahl in :nth-child(3) ist der genaue Platz des dmulti in der Ansicht. Gemeint sind dabei alle Felder fortlaufend gezählt, inklusive Platzhalter oder Zeilenumbrüche. Jetzt ist genau dieses Feld css formatiert und kein anderes dmulti. Mirko

      • Maurice
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Super. Herzlichen Dank. Und dann noch so schnell.

      Ergänzend für zukünftige LeserInnen: ich habe zwei ToDo Listen:

      Eine für (meist wiederkehrende) Aufgaben im Jahr entweder zu exakten Zeitpunkten (Datum) oder in einem bestimmten Monat (Monatsintervall) im Jahr und Aufgaben, die fortlaufend sind (und hier quasi dokumentiert gelistet sind, die kann man auch nicht wegklicken). Damit war meine Ergänzung:

      :nth-child(2n+7)

      das 7te, 9te, 11te etc. Element. Zwischen den beiden Listen ist noch ein Element (der Zeilenumbruch war zu "dünn", ich habe ein Platzhalter Element genommen).

      Mit dem Auswahlfeld "Anzeige in Monaten" kann ich steuern, wie weit die Vorschau in der ersten ToDo Liste reicht (maximal aktueller Monat plus 5). Über das DMAF "Prozessauswahl" kann ich dann steuern, zu welchem Prozess die dargestellten Aufgaben gehören sollen (jede Aufgabe ist einem Prozess zugeordnet).

      Letztendlich bilde ich Prozessbeschreibungen ab (mit dem Zusatz, dass ich auch Einzeltermine wie beim Original vom Mirco integrieren kann).

      Zur Vollständigkeit: in der letzten Spalte stehen Personen, die bei der Aufgabe zu beteiligen sind.

      Was noch bleibt (da muss ich mal die html-DB aus dem Webinar studieren: die Überschriften in die Listen setzen, also Ausgabe, Zeitpunkt, Beteiligte.

      Maurice

      • Maurice
      • vor 3 Monaten
      • Gemeldet - anzeigen

      zwei Ergänzungen:

      zur Info: Kartenreiter zählen nicht als html-Element, also bei der Zählung überspringen;

      die :nth-child(2n+7)-Option greift beim Label nicht (ich habe das Label ausgeblendet und das jetzt erste bemerkt)

      Maurice

      • mirko3
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Ups. Habe ich an der falschen Stelle eingefügt. So ist es richtig.

      .component.editor.editor-dmulti:nth-child(3) label {
      
      }
      
    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Wiederholungstermine mit Anzahl (z.B. alle 3 Wochen, 4x) hinzugefügt.
    Versteckte Tabulatoren (Idee Michi)