Discourse toolkit to render forms

نعم، قد يجرب ذلك. سأعطيه محاولة.

أعتقد أنني كنت أبحث عن خيار “مُحَذْفُ الإِطَارَة”، لكن هذا بالتأكيد خيار معقول تمامًا. شكرًا.

إعجابَين (2)

هذا المثال يعطيني هذا الخطأ:

validateConfig - uppy-upload.js:80:12

Error: Missing required UppyUpload config: type
Uncaught (in promise) Error: Missing required UppyUpload config: type
    validateConfig uppy-upload.js:80
    UppyUpload uppy-upload.js:113
    js uppy-image-uploader.gjs:32
    UppyImageUploader uppy-image-uploader.gjs:23
    createComponent base-component-manager.js:26
    Ember 2
    source chunk.e6b222d1aa255cdf70e5.d41d8cd9.js:98442
    Ember 12
    source chunk.e6b222d1aa255cdf70e5.d41d8cd9.js:100412
    source chunk.e6b222d1aa255cdf70e5.d41d8cd9.js:102123
    Ember 34
    show modal.js:73

أظن أن <field.Image /> يتطلب وسيطة @type :slight_smile:

إعجاب واحد (1)

تصبح الأمور المتعلقة بتحميل الصور أكثر غرابة.

في بعض الأحيان عند فتح مربع حوار ملف لتحميل صورة باستخدام عنصر تحكم في النموذج، أحصل على هذا الخطأ:

selectedText - utilities.js:137:25
TypeError: ancestor is null
 const postMenuArea = ancestor.querySelector(".post-menu-area");
    <form.Field
      @name="upload_url_1"
      @title="Upload"
      @onSet={{this.handleUpload}}
      as |field|
    >
      <field.Image @type="branding" />
    </form.Field>

هذا غريب بشكل خاص لأن نموذجي موجود في نافذة منبثقة ليس لها علاقة بالمنشورات.

ينتهي كل شيء بالعمل، إنه مجرد قبيح قليلاً في وحدة تحكم المتصفح.

تحياتي!

إعجابَين (2)

[اقتباس=“awesomerobot، المشاركة:4، الموضوع:326439”]
أعتقد أن استيراد النموذج كان خاطئًا، لذلك قمت بتحديث OP
[/اقتباس]

لكن لم تقم بتحديث OP أو تم التراجع عنه. وفقدت وقتًا أكثر مما أود الاعتراف به في محاولة معرفة ذلك.

[اقتباس=“system، المشاركة:1، الموضوع:326439”]
إليك أبسط مثال على نموذج:

import Component from "@glimmer/component";
import { action } from "@ember/object";
import Form from "discourse/form";

[/اقتباس]

هل هذه الأدلة موجودة على جيثب؟ صحيح؟ إذا كان الأمر كذلك، هل يمكن أن تربطها بجيثب؟

إعجابَين (2)

آه نعم، لم أدرك أن هذا الموضوع تم إنشاؤه من مستودع الوثائق الخاص بنا لذلك تم التراجع عنه ولم أتابع الأمر… هناك إصلاح صحيح قادم الآن

إعجابَين (2)

شكرًا لك!

والتصحيح الآخر سيكون إنشاء مكوّن موضوع للمصدر بحيث لا يمكن خداعتك لإجراء التغيير في المكان الخطأ مرة أخرى، ويمكنني تقديم طلب سحب (PR).

نحن نخفي زر التعديل في مواضيع #documentation:developer-guides، لكن أعتقد أن الناس يتجاوزون ذلك باستخدام اختصارات لوحة المفاتيح أو التعديل السريع. المزيد من الأشياء لإخفائها/تعطيلها! :sweat_smile:

لدينا هذا في أسفل كل وثيقة، مع رابط إلى الملف المصدر. لذا، هذا هو أفضل شيء لاستخدامه إذا كنت ترغب في تقديم طلب سحب (PR):

آه. منطقي. أيضًا، غالبًا لا تنطبق القواعد على المسؤولين.

انتظر. ماذا؟

أوه. عفوًا. إنها مكتوبة بأحرف صغيرة جدًا، ولكن الآن بعد أن رأيتها، أتذكر أنني رأيتها من قبل. :person_shrugging:

لقد أحرزت تقدمًا إضافيًا هذه المرة. أقوم بالكثير من الأشياء المخصصة جدًا (مثل الحاجة إلى تشغيل نص يتم عرضه عند إدخال حقل) التي قد تمنعني من استخدامه.

هل لديك أي فكرة عن كيفية تشغيل دالة عند إدخال حقل؟ (حالة الاستخدام، عندما تدخل حقل مفتاح Digital Ocean API، يظهر نص يصف كيفية الحصول على مفتاح API).

تعديل: نعم. عزيزي https://ask.discourse.com/ كان قادرًا على إخباري! إنه واضح بشكل مؤلم بمجرد أن تعرف. :person_shrugging:

import { on } from "@ember/modifier";
...
  @action
  hostnameClicked(event) {
    this.setHelpText(i18n("pfaffmanager.help.hostname"));
  }
...

            <field.Input @type="text" {{on "click" this.hostnameClicked}} />
إعجاب واحد (1)