plugins – Remove HTML style block on ConvertKit form

One has a ConvertKit form, that was added using ConvertKit plugin, and uploaded on a widget as follows

enter image description here

If one inspects the form in the front-end, one sees that inside a form with the class "seva-form formkit-form", apart from two div, one has a style element., as follows

<form class="seva-form formkit-form">
   <div class="formkit-background">...</div>
   <div data-style="minimal">...</div>
   <style>...</style>

How does one remove that style block?

The only constraint it that it should be in a way that would allow one to add different styles using the Additional CSS section in the Customize.

arithmetic – What is input form for repeating decimal in Mathematica?

Indeed, there is no direct method to input a repeating decimal. The closest you can get is to input the repeating digits into FromDigits[]:

$$0.overline{142857}$$

FromDigits[{{{1, 4, 2, 8, 5, 7}}, 0}]
   1/7

$$0.overline{3}$$

FromDigits[{{{3}}, 0}]
   1/3

$$0.1overline{6}$$

FromDigits[{{1, {6}}, 0}]
   1/6

Of course, this also applies for e.g. repeating binary representations:

$${0.000overline{1100}}_2$$

FromDigits[{{0, 0, 0, {1, 1, 0, 0}}, 0}, 2]
   1/10

dnd 5e – Can the original form of a familiar be detected by Truesight?

Further to the question “How to determine if an animal is a familiar or a regular beast?”,
can the original form of a familiar be detected by Truesight?

PHB pg 185 includes the following in the description of Truesight:

“perceives the original form of a shapechanger or a creature that is
transformed by magic.”

PHB pg 240 includes the following in the description of the Find Familiar spell:

Appearing in an unoccupied space within range, the familiar has the
statistics of the chosen form, though it is a celestial, fey, or fiend
(your choice) instead of a beast.”

Where it gets more complicated is that also in the description of the Find Familiar spell, it indicates:

You gain the services of a familiar, a spirit that takes an animal
form you choose

I found this question “Is a soul or spirit a creature?” regarding creatures and spirits, but I don’t believe the answer addresses whether a spirit is a creature.

I also found this question “What exactly is a fey fiend celestial spirit?” regarding spirits, but again I don’t believe it addresses whether a spirit is a creature (although it is very long so I may have missed something).

However, MM pg 279 includes this in the description of the Specter (Wights and Wraiths also have references to being spirits):

A specter is the angry, unfettered spirit of a humanoid

Accordingly, has the celestial, fey or fiend been “transformed by magic”, and is its spirit a “creature”, such that its original form would be apparent to someone with Truesight?

I created a PowerApps form, then placed it in a Page Viewer Web Part. I need to remove “New Item”, “Save”, and “Cancel”

So I customized a modern form in SharePoint with PowerApps. My client then wanted my to have this form display on a separate page. So I placed the form in a Page Viewer Web Part. It looks good except I need to remove “New Item”, which appears to just be static text. I also need to remove/hide “Save” and “Cancel” at the top, as I created custom buttons at the bottom of the form to perform that function. Here’s what I’m talking about:

enter image description here

I just want to know if it’s possible to hide/remove these parts. Or if I can even lower the top of the web part enough to cover them.

Thank you for your help!!

Chris

8 – How to automatically add http prefix to links in a form?

I am trying to come up with a solution to fix the D8 Link module to allow URLs like example.com (the most common use case, imho). I was thinking it would be simple enough to modify the submit value during a custom validate function; but regardless of what I set the value to it still validates on the original value.

In a form alter I have done this:

$form('field_linktest')('widget')(0)('#element_validate')() = '_fix_link_field_value';

and then in that validate function I set the url uri value:

function _fix_link_field_value(&$element, FormStateInterface $form_state, &$complete_form) {
  $url = $form_state->getValue('field_linktest');
  $url(0)('uri') = 'http://example.com';
  $form_state->setValue('field_linktest', $url);
}

But I still get the error: Manually entered paths should start with one of the following characters: / ? #

python – Planning out a Form class with subclasses help

Context: I work with Ignition, a server software that allows drag and drop to create JavaSwing UI. It doesn’t allow coding of windows directly in fact, only drag and dropping of components to make a window. Its a jython coding environment. Recently, they added a new way to drag and drop ReactJS websites. Additionally, they also allow you to manually craft a backend API that you can serve up regular HTML with for a traditional HTML/CSS/JS type UI. Before I got here, most of the time, a button on the form would have 20 lines like columnValue1 = event.source.getComponent("Text Field").text, some check conditionals, and then a very long SQL query to run.

Current Updates I made to this: Now, I have a function that grabs all the data from the window automatically using naming conventions of components, and puts them into a dictionary, and I built a SQL Query builder to go from dictionary->query, this itself has eliminated a lot of spaghetti code, but I think I can go even farther. I had a script for each module but they all follow the same steps for exmaple

# Sales order module
def create(data):
    validate_data(data)
    modify_data(data)
    result, new_id = db_insert(data)
    post_insert(data, new_id, result)

So I am trying to create a Form class (because again, jython, most python libraries I am cut off from and cannot use) and sub class each individual form for their unique validating/modifying/etc functions. Here is what I have sketched out so far –

class Form(object):
    """
    Generic form class for rendering forms via HTML for WebDev or for Vision - cross compatability.
    """
    form_payload = {}
    form_id = None
    name = None
    
    def __init__(self, form_payload, form_id=None):
        print "in Form init"
        self.form_payload = form_payload
        self.form_id = form_id

    def validateInsert(self):
        print "validating"
        return
    
    def modifyInsert(self):
        print "modifying"
        return
    
    def db_insert(self):
        print "inserting"
        return
    
    def postInsert(self):
        print "post insert procedure"
        return

    def validateUpdate(self):
        print "validating pre update"
        return
    
    def modifyUpdate(self):
        print "modifying update"
        return
    
    def db_update(self):
        print "updating with db"
        return
    
    def postUpdate(self):
        print "after update"
        return
                                    
    def insert(self):
        if self.form_id is not None:
            raise ValueError("Cannot run insert for form that already exists")
        else:
            self.validateInsert()
            self.modifyInsert()
            self.db_insert()
            self.postInsert()

    def update(self):
        if self.form_id is None:
            raise ValueError("Cannot run update with an id")
        else:
            self.validateUpdate()
            self.modifyUpdate()
            self.db_update()
            self.postUpdate()

class SalesOrder(Form):
    def __init__(self, form_payload, form_id=None):
        print "in so init"
        super(SalesOrder, self).__init__(form_payload, form_id)
    
    def validateInsert(self):
        print "actually we need to do this for sales order inserts"
    
    def validateUpdate(self):
        print "we need to do x, y, and z to validate updating of of sales order"

to get used to writing OOP and seeing how things work. This seems to work properly when I test it – the functions I define inside my subclass get called when defined instead of the base class ones.

Here’s my big question – how do I integrate this class with 3 different types of GUI’s? I have my JavaSwing gui that I use a function to put data into a dictionary, same with the React GUI that has it’s own unique function, and will eventually have to have the same thing with the standard HTML/CSS/JS that will hit an actual API endpoint instead of just directly calling a jython function directly.

Should my Form class have a getData() function that is fed an event or window and is able to parse out the data no matter the GUI source (if it’s even from a GUI at all) and how would I integrate that while keeping the ability to say read a CSV file and run inserts per row?

Lastly, what about going from Form to GUI? For two out of three of the GUI options, I can dynamically code the front end with HTML for the JavaSwing and of course raw HTML/CSS/JS using the Mako jython library (currently impossible for the built in React stuff). Should that be a part of the Form class? Or should that be another class or just a function that gets fed some subclass of my Form class and it works from there?

I guess what I am really getting at is a separation of concerns here. I don’t know where the cutoff should be and where I should include things in either my general class form, or the subclass, if I should make another class or function that handles the data parsing separate from this class, etc. It’s been a while since I’ve seriously done OOP and could use some guidance. I have cleaned up our code base a lot but its still just all functions calling functions and while readable, say I needed to change something for every single form – I would have to change it in as many places as we have forms (a lot) instead of just my base class. Any advice or examples of how you may have handled making your own Form class would be appreciated.

php – Dropdown Category form. Only show Sub-Categories

I’m trying to get a category dropdown working. I have a Custom Post Type called “podcast” and custom taxonomy called “podcast_category”.

What i want to display, is a list of categories which are child’s of “the-building-code”. Normally for posts, i would use Tax_query, but really struggling to figure this one out.

<form class="js-filter-form">
            <select name="categories" id="categories">
                <?php
                
                    $cat_args = array(
                        'post_type' => 'podcast',
                        'taxonomy' => 'podcast_category'
                    );

                    $categories = get_categories($cat_args); ?>
                    <option value="">All</option>
                    <?php
                    foreach($categories as $cat) : ?>
                        <option class="js-filter-item" value="<?= $cat->term_id; ?>">
                            <?= $cat->name; ?>
                        </option>
                <?php endforeach; ?>
            </select>
        </form>

8 – How can I insert fields from custom content to custom form?

I have a problem with form. I had to create a custom content with fields. User can put variables into those fields and save to database, for example “Anna” into column field_student_name in table node__field_student_name. I see this connection where every field from this content type is saved under particular node.

Now I need to create a form with fields, which values will go to the same database tables, for example in this form I have a form field where I put “Tom”, and this value is saved in table node__field_student_name in column field_student_name (the same as Anna in custom content).

At this moment I see two main potential ways to accomplish this task:

  1. insert form from custom content to my new form with entity.form_builder

I added this two lines info code:

$node = DrupalnodeEntityNode::create(('type' => 'my_students'));
$form = Drupal::service('entity.form_builder')->getForm($node);
return $form

And this works fine, but I need only part of those fields 🙁 And I don’t wanna see section for admin like “add new revision” etc. Moreover, “Submit” button is on the top of the page

  1. Create a form and in submit function do something like

    $node->set(‘title’, ‘titile1’)

but I prefer way #1. Besides that, I don’t know how to do it with way #2. I don’t know how can i put variables from $form(‘student)’ into field_student_name column in node__field_student_name table. Moreover i am not sure if it is ok and if nodes id etc will be added in correct way.

To sum up, I think way #1 is better and easier but I don’t have such a big knowledge to do this and maybe here are more advanced, helpful people who can help me.

uicomponent – Help to create form – now its neverending spinner

I’m learning to create an UI components form, but stuck on neverending spinner. Help me to create this form, step by step, please.
enter image description here I have a module in adminhtml which shows a table from database. This table contains columns id, age, name, comment. I need to build an edit form which shows after click on a row in the table.
File myadminroute_index_edit.xml was created in OverdoseAdminPanelviewadminhtmllayoutmyadminroute_index_edit.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block class="MagentoBackendBlockTemplate" template="Overdose_AdminPanel::future-form.phtml"/>
            <uiComponent name="overdose_friends_form"/>
        </referenceContainer>
    </body>
</page>

UI component overdose_friends_form.xml is located in *OverdoseAdminPanelviewbaseui_component*

<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">overdose_friends_form.overdose_friends_form_data_source</item>
            <item name="deps" xsi:type="string">overdose_friends_form.overdose_friends_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">Editing in the Form</item>
        <item name="layout" xsi:type="array">
            <item name="type" xsi:type="string">tabs</item>
        </item>
        <item name="config" xsi:type="array">
            <item name="dataScope" xsi:type="string">data</item>
        </item>
        <item name="buttons" xsi:type="array">
        <item name="primary" xsi:type="array">
            <item name="label" xsi:type="string" translate="true">Save Button</item>
            <item name="class" xsi:type="string">primary</item>
            <item name="url" xsi:type="string">myadminroute/index/save</item>
        </item>
            <item name="primary" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Back Button</item>
                <item name="class" xsi:type="string">primary</item>
                <item name="url" xsi:type="string">myadminroute/index/index</item>
            </item>
        </item>
        <item name="template" xsi:type="string">templates/form/collapsible</item>
    </argument>

    <dataSource name="overdose_friends_form_data_source">
        <argument name="dataProvider" xsi:type="configurableObject">
            <argument name="class" xsi:type="string">OverdoseAdminPanelControllerAdminhtmlModelDataprovider</argument>
            <argument name="name" xsi:type="string">overdose_friends_form_data_source</argument>
            <argument name="primaryFieldName" xsi:type="string">id</argument>
            <argument name="requestFieldName" xsi:type="string">id</argument>
        </argument>
        <argument name="data" xsi:type="array">
            <item name="js_config" xsi:type="array">
                <item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
            </item>
        </argument>
    </dataSource>

    <fieldset name="sample_fieldset">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Sample Fieldset</item>
            </item>
        </argument>

        <!-- This field represents form id -->
        <field name="id">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">sampleform</item>
                </item>
            </argument>
        </field>
    </fieldset>
</form>

Dataprovider.php is located in *OverdoseAdminPanelControllerAdminhtmlModel*

<?php
namespace OverdoseAdminPanelControllerAdminhtmlModel;

use OverdoseLessonOneModelResourceModelCollectionFriendsFactory;

class DataProvider extends MagentoUiDataProviderAbstractDataProvider
{

    public function __construct(
        $name,
        $primaryFieldName,
        $requestFieldName,
        OverdoseLessonOneModelResourceModelCollectionFriendsFactory $friendsFactory,
        array $meta = (),
        array $data = ()
    ) {
        $this->collection = $friendsFactory->create();
        parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
    }

    /**
     * Get data
     *
     * @return array
     */
    public function getData()
    {
        return ();
    }
}

The controller consists of AbstractController.php in *OverdoseAdminPanelControllerAdminhtmlIndex*

<?php
namespace OverdoseAdminPanelControllerAdminhtmlIndex;

use MagentoBackendAppAction;
use MagentoFrameworkAppConfigScopeConfigInterface;

abstract class AbstractController extends MagentoBackendAppAction

{
    const DEFAULT_ACTION_PATH = 'myadminroute/index/';

    protected $friendsFactory;
    protected $friendsResourceModel;


    public function __construct(
        ActionContext $context,
                // TODO: Add your repository or model/resourceModel classes here
        OverdoseLessonOneModelFriendsFactory $friendsFactory,
        OverdoseLessonOneModelResourceModelFriends $friendsResourceModel
    ) {

        parent::__construct($context);
        // TODO: Assign them to the protected variable, so that child classes can access it
        $this->friendsFactory = $friendsFactory;
        $this->friendsResourceModel = $friendsResourceModel;
    }
}

and Edit.php in *OverdoseAdminPanelControllerAdminhtmlIndex*

<?php
namespace OverdoseAdminPanelControllerAdminhtmlIndex;

use MagentoFrameworkAppActionHttpGetActionInterface;
use MagentoBackendAppAction;
use MagentoFrameworkControllerResultFactory;


class Edit extends AbstractController
{

    public function execute()
    {
        $adminPage = $this->resultFactory->create('page');

        $adminPage->getConfig()->getTitle()->prepend(__('Friend form'));

        $entityId = $this->getRequest()->getParam('id');
        //echo ($entityId);
     
        return  $adminPage;


    }
}

Can one edit the sections in a Google form after sending it?

Yes you can.

First of all make a copy of your form(a test form), link it to a new answer sheet and submit couple of test replies.
Following that, make the changes you want and submit again some replies.

If you notice no changes to your answer sheet, continue by making the same changes to the original form. Problem solved 🙂

If you do notice differences to the answer sheet, then please follow these steps.

Important note
If I were you, I would first make a note -by checking the already existing timestamps- of when the least activity is registered and take the following steps during a passive period.

  1. Change the logic of your sections
  2. Unlink the answer sheet
  3. Relink your form to the same answer sheet.

Following the above steps a new tab will be created in your answer sheet where new submissions will be recorded.
To have results from both tabs together, create a third tab where by using formulas you can import date both previous tabs.