8 – How can I attach the same library with Javascript multiple times on the same page with different settings?

I have a custom field formatter that attaches a library that includes a javascript file. It uses drupalSettings to pass some values to the script.

The first time the field formatter appears on a page, it works as expected. However, subsequent appearances of the formatter behave as if they have no script attached.

A simplified example:

(function ($, Drupal, drupalSettings) {
  $(document).ready(function () {
    var selector = drupalSettings.gallery.id + ' .foo';
    alert(selector);
  });
})(jQuery, Drupal, drupalSettings);

If the field formatter appears three times on a page, I would expect to get three alerts with three (slightly) different strings. Instead, I only get one, with the ID I expect for the first string.

It seems like the easy way to deal with this is to use inline scripts, but I know that’s strongly discouraged. Is there a right way to do this?

javascript – como disponibilizar mais de um arquivo para download com apenas um botão em HTML

Gostaria de saber se em HTML é possível fazer download de mais de um arquivo (foto no caso) estou usando o botão do bootstrap e fiz o seguinte código :

<a class="btn btn-primary" href="images/cant3.png" download="cant3.png" ; >Baixe nosso Cardápio Físico</a>

mas eu gostaria que ao clicar fosse feito o download de 2 imagens, alguém pode me ajudar??

javascript – Escrevendo um arquivo binario

Sou programador C, e estou tentando criar um arquivo .bin em uma aplicação html. Porém consigo apenas criar arquivo texto. Necessito poder escrever valores de 0 a 255.
”’

Page Title

var mydata=””;

mydata(0)=toString(65);
mydata(1)=toString(66);
mydata(2)=toString(67);
mydata(3)=toString(0);

function download()
{
let element = document.createElement(‘a’);
let CreateFileName =”teste.bin”;
CreateFileName=CreateFileName.substring(0,CreateFileName.length – 4);
element.setAttribute(‘href’, ‘data:text/plain;charset=utf-8,’ + encodeURIComponent(mydata));
element.setAttribute(‘download’, CreateFileName );
element.style.display = ‘none’;
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
mydata=””;
}

download();

”’

¿Cómo ejecutar function de javascript dentro de react?

Es traer una función de la api de dropbox por medio de un script y ejecutar desde react:

<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="-----------------------">
</script>

javascript – Is it an antipattern to pass an object that stores the application state from one function to another?

The program is written in JavaScript. To give you a rough idea what I am thinking of:

function State() {
  return {
    color: 'green',
    size: 100,

    // ... there are other properties here
  }
}

function init() {
  const state = State()
  const otherObj = OtherObj()
  
  // ...something like an event fires `foo`
  foo(state, otherObj)
}

function foo(state, otherObj) {
  state.size = calcNewSize(state) // state changes
  state.color = pickNewColor(state, otherObj) // state changes
  // ...   
}

function pickNewColor(state, otherObj) {
  const someInformation = getSomeInformation(state)

  // ... do other stuff

  return newColor
}

const a1 = init()
const a2 = init()
const a3 = init()

Right now, I have 3 objects that I should pass from function to function, but I am wondering, if this would scale well.

I am also wondering, if is better to pass the entire object, instead of only the properties that are needed by these functions. Maybe it would be a good idea, to draw a line at 2-3 arguments, and if more is necessary, then pass the entire object.

Also, this could possibly be refactored into a single class, with methods (like pickNewColor, getSomeInformation) having access to the properties (like size, color), in which case there wouldn’t be any need to pass around objects. However, I was wondering, if the above approach of passing around objects could work well.

javascript – Datalist com retorno de vários campos em PHP

Após algumas pesquisas conseguir desenvolver um datalist que recupera valores diretamente dos registros mysql, com php apenas e os exibindo por javascript. Gostaria de saber se é possível retornar o valor de vários campos, após preenchimento de um? Por exemplo, após encontrar o cliente, os demais campos como telefone, endereço, data de nascimento, tambem são preenchidos.

Vou deixar o código abaixo pra exemplificar:

    <?php
include('./conexao.php');
?>

<div class="d-flex flex-row">
    <aside class="form-ficha">
        <h2>Ficha Micropigmentação</h2>
        <form oninput="escrever()">
            <div class="form-group">
                <label>Cliente
                    <input type="list" id="clientes" list="cliente">
                    <datalist id="cliente">
                        <?php
                        $consulta_clientes = "SELECT nome FROM clientes ORDER by id DESC";
                        $resultado_clientes = mysqli_query($conexao, $consulta_clientes);

                        while ($linha_clientes = mysqli_fetch_array($resultado_clientes)) { ?>
                            <option value="<?php echo $linha_clientes('nome') ?>"></option>
                        <?php } ?>
                    </datalist>
                </label>
            </div>
            <div class="form-group">
                <label>Data do procedimento
                    <input type="date" id="datade">
                </label>
            </div>
            <div class="form-group">
                <label>Forma de Pagamento
                    <select id="pagamento">
                        <option>Dinheiro</option>
                        <option>Cartão de Débito</option>
                        <option>Cartão de Crédito</option>
                    </select>
                </label>
            </div>
            <div class="form-group">
                <label><strong>Existe algum problema que julgue necessário informar antes do procedimento?</strong>
                    <textarea id="problemas" cols="25" rows="5"></textarea>
                </label>
            </div>
            <div class="form-group">
                <label><strong>Declaro que sou maior de idade e estou submetendo-me a MICROPIGMENTAÇÃO DE SOBRANCELHASde livre e espontânea vontade.</strong>
                    <select id="maior">
                        <option value="sim">Sim</option>
                        <option value="nao">Não</option>
                    </select>
                </label>
            </div>
            <br>
            <h6><strong>Pigmento 1</strong></h6>
            <div class="form-group">
                <label>Marca do Pigmento
                    <input type="text" id="marca">
                </label>
            </div>
            <div class="form-group">
                <label>Data da Abertura
                    <input type="date" id="abertura">
                </label>
            </div>
            <div class="form-group">
                <label>Validade / Lote
                    <input type="text" id="validade">
                </label>
            </div>
            <div class="form-group">
                <label>Cores Usadas / Pigmento
                    <input type="text" id="cor1">
                </label>
            </div>
            <div class="form-group">
                <label>Cores Usadas / Pigmento
                    <input type="text" id="cor2">
                </label>
            </div>
            <br>

            <h6><strong>Pigmento 2</strong></h6>
            <div class="form-group">
                <label>Marca do Pigmento
                    <input type="text" id="marca2">
                </label>
            </div>
            <div class="form-group">
                <label>Data da Abertura
                    <input type="date" id="abertura2">
                </label>
            </div>
            <div class="form-group">
                <label>Validade / Lote
                    <input type="text" id="validade2">
                </label>
            </div>
            <div class="form-group">
                <label>Cores Usadas / Pigmento
                    <input type="text" id="cor11">
                </label>
            </div>
            <div class="form-group">
                <label>Cores Usadas / Pigmento
                    <input type="text" id="cor22">
                </label>
            </div>
            <br>
            <h6><strong>AUTORIZAÇÃO USO DE IMAGEM E FILMAGEM</strong></h6>
            <div class="form-group">
                <select name="id">
                    <option>sim</option>
                    <option>não</option>
                </select>
            </div>
        </form>
    </aside>

    <section class="conteudo-ficha">
        <article id="micro" class="p-2 m-2">
            <h4 class="text-center">FICHA DE AUTORIZAÇÃO E ANAMNESE</h4>
            <p>
                NOME: <span id="client"></span> <span>   </span> DATA: <span id="dateof"></span><br>
                ENDEREÇO: _______________________________________________________ CEP: ______________________
                FONE_______________________________________________ <br> DATA NASCIMENTO: _______________________
                E-MAIL:________________________________________________ CPF: __________________________________<br>
                FORMA PAGAMENTO: <span id="payment"></span>
            </p>
            <p>
                PROCEDIMENTO DE MICROPIGMENTAÇÃO DE SOBRANCELHAS
                Cardíaco (tem marca passo) Diabético*: Hipertensão:
                Anemia: Câncer: Problema cicatrização:
                Hepatite: Alergias: Gestante:
                Doenças Infecto Contagiosa: Menstruada: Usa medicamento:
                Faz dietas / balões: Depressão: Fumante:
                Alcoólatra: Doença auto imune: Maior de idade:
                Queloide: Herpes: Lactente:
            </p>
            <p>
                Existe algum problema que julgue necessário informar antes do procedimento? se houver relatar abaixo:
                <label>Não
                    <input type="radio" name="selecao" value="Não" checkdate>
                </label>
                <label>Sim
                    <input type="radio" name="selecao" value="Sim" checkdate>
                </label><br>
                Quais? <u id="problem"></u> <br>
                Declaro que sou maior de idade e estou submetendo-me a MICROPIGMENTAÇÃO DE SOBRANCELHAS de
                livre e espontânea vontade.
            </p>
            <table class="table">
                <thead>
                    <th>MARCA DO PIGMENTO</th>
                    <th>DATA DE ABERTURA</th>
                    <th>VALIDADE / LOTE</th>
                    <th>CORES USADAS / PIGMENTO</th>
                    <th>CORES USADAS / PIGMENTO</th>
                </thead>
                <tbody>
                    <tr>
                        <td id="brand"></td>
                        <td id="date_open"></td>
                        <td id="validity"></td>
                        <td id="color1"></td>
                        <td id="color2"></td>
                    </tr>
                </tbody>

            </table>

            <table class="table">
                <thead>
                    <th>MARCA DO PIGMENTO</th>
                    <th>DATA DE ABERTURA</th>
                    <th>VALIDADE / LOTE</th>
                    <th>CORES USADAS / PIGMENTO</th>
                    <th>CORES USADAS / PIGMENTO</th>
                </thead>
                <tbody>
                    <tr>
                        <td id="brand2"></td>
                        <td id="date_open2"></td>
                        <td id="validity2"></td>
                        <td id="color11"></td>
                        <td id="color22"></td>
                    </tr>
                </tbody>

            </table>

            <p>
                 Estou ciente que realizarei a micropigmentação de sobrancelhas com a profissional....
            </p>
            <p>
                 O procedimento e todas as implicações relativas ao mesmo, me foram esclarecidas e estou ciente das minhas
            </p>
            <p>
                condições psicológicas e de saúde, ficando assim a profissional isenta de qualquer responsabilidade quanto as
                reações que por ventura eu venha apresentar.
                Estou ciente e confirmo que o material que será usado é descartável, assim como todo padrão de higiene está
                sendo seguido corretamente, conforme as normas da Vigilância Sanitária (ANVISA).
            </p>
            <p>
                Levando em consideração a absorção do pigmento em cada organismo, e também os cuidados que o cliente terá
                que ter a partir do momento em que optar em fazer a micropigmentação de sobrancelhas, estudos comprovam a
                durabilidade de média 8 meses á 1 ano, nesse período respeitando todas as indicações da micropigmentadora, o
                pigmento tende a clarear naturalmente com o passar dos anos, mas não sumirá definitivamente, sendo assim
                havendo a necessidade de manutenção nesse período.
            </p>
            <p>
                O retoque deverá ser realizado somente após 40 dias. Para todos os retoques realizados, cobraremos uma taxa
                de R$ .... reais referente ao material usado. O prazo para agendar o retoque é de 35 dias. É considerado retoque
                até os 3 primeiros meses, após este período realizaremos MANUTENÇÃO, no valor R$ .... reais.
            </p>
            <p>
                O modelo / formato de como ficará o desenho frontal fui eu quem escolhi, a profissional desenhou e mostrou
                como ficaria, apagou e refez até ficar do meu gosto, me orientando qual o modelo que seria melhor para mim,
                mas prevalecendo o desenho que “EU” escolhi, apenas micropigmentando após a minha autorização. Se eu me
                arrepender do formato estou ciente que será um trabalho com honorários a parte.
            </p>
            <p>
                Comprometo-me a seguir corretamente o tratamento, caso ocorra de dar um longo prazo de tempo sem
                comparecer a data marcada para o retoque, a micropigmentadora ficará isenta da responsabilidade do trabalho,
                estou ciente disso.
                 Marcação e confirmação de horário para realizar o retoque somente pelo telefone: ...
            </p>
            <p>
                 ATENTAR PARA A DATA DO RETOQUE. Em caso de intercorrências não podendo comparecer a consulta favor
                ligar e desmarcar no prazo de 24 horas, pois caso contrário perderá o direito ao retoque e pagará o valor de uma
                MICROPIGMENTAÇÃO R$ .... REAIS.
            </p>
            <p>
                Declaro que não me enquadro na lista de “clientes de riscos”, nem apresento nenhuma doença infecto-
                contagiosa, não apresento nenhum sintoma de debilidade imunológica, não sou dependente de álcool ou drogas.
                E confirmo serem verdadeiras as declarações acima, assumindo total responsabilidade por quaisquer omissões
                ou erro das mesmas.
            </p>
            <p>
                Certifico que todos os itens acima me foram expostos detalhadamente e que não ficou nenhuma dúvida.
                AUTORIZAÇÃO USO DE IMAGEM E FILMAGEM:
            </p>
            <p>
                Autorizo também que fotografe/filme o “antes” e o “depois” gratuitamente para efeito de avaliações,
                documentação, e que este material seja ou não com fins comerciais (divulgação), via folder, cartões, banner,
                internet e quaisquer outros tipos de divulgação. <br>
                ASSIM SENDO, FIRMO A PRESENTE AUTORIZAÇÃO. <br>
                _________ DE _____________________ DE 2020 <br>
                ASSINATURA DA(O) CLIENTE ___________________________________________________________
            </p>
        </article>
        <div class="form-group">
            <input type="button" class="btn btn-warning" value="Imprimir / Pdf" onclick="imprimir_micro()">
        </div>
    </section>
</div>

    function escrever() {
    //Campos do Formulário
    var cliente = document.querySelector('#clientes').value
    let datade = document.querySelector('#datade').value
    let problema = document.querySelector('#problemas').value
    let pagamento = document.querySelector('#pagamento').value

    let marca = document.querySelector('#marca').value
    let abertura = document.querySelector('#abertura').value
    let validade = document.querySelector('#validade').value
    let cor1 = document.querySelector('#cor1').value
    let cor2 = document.querySelector('#cor2').value
    let marca2 = document.querySelector('#marca2').value
    let abertura2 = document.querySelector('#abertura2').value
    let validade2 = document.querySelector('#validade2').value
    let cor11 = document.querySelector('#cor11').value
    let cor22 = document.querySelector('#cor22').value

    //Escrevendo Conteúdo
    client.innerHTML = cliente + '.  '
    let formatoData = new Date()
    datade = formatoData.toLocaleString()
    dateof.innerHTML = datade
    problem.innerHTML = problema
    payment.innerHTML = pagamento

    brand.innerHTML = marca
    date_open.innerHTML = abertura
    validity.innerHTML = validade
    color1.innerHTML = cor1
    color2.innerHTML = cor2
    brand2.innerHTML = marca2
    date_open2.innerHTML = abertura2
    validity2.innerHTML = validade2
    color11.innerHTML = cor11
    color22.innerHTML = cor22
}

function imprimir_micro() {
    let ficha = document.getElementById('micro')
    let imprime = ficha.innerHTML
    window.print(imprime)
}

javascript – Create a button function in another aspx page using jQuery

Stack Exchange Network


Stack Exchange network consists of 176 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

javascript – Need to know what is correct for my first vm and what I should change when I write my next

I wrote my first virtual machine recently, and I need to know what I should change in my next vm to make it an actual vm. I created this one as more of just an interpreter with a instruction set you would see in assembly. I did not create this using many things a vm should have, and I put it together in a few hours late one night. Here is the main script, it’s written in JavaScript and uses a graphics library called p5.js, and the full program can be found here https://github.com/HPestock/CS-bVM with a live example here https://hpestock.github.io/CS-bVMgithubdemo/index.html (the VM is stack-based, and it’s slow because p5.js runs at ~59.9hz maximum, though I could just run this in a while loop and only escape when DRAW is called):

var memory;
var SP;
var PC;
var PCRET;
var w = 800;
var h = 600;
var i;
var j;
var stack;

var kdown;
var mdown;

var flag_cmp;

//insts
var NOP = 0x0000;
var PUSH = 0x0001; // (VALUE)
var PUSHM = 0x0004; // (MEMORY LOCATION) push memory
var POP = 0x0002; // (STACK NUMBER)
var CLRST = 0x0003; // clear stack
var MSM = 0x0005; // (STACK NUMBER), (MEMORY LOCATION)
var ADDT = 0x0006; // ADD stack(SP.length - 2) and stack(SP.length - 3)
var SUB = 0x0007;
var MULT = 0x0008;
var DIV = 0x0009;
var MOD = 0x000A;
var DRAW = 0x000B; // SP-4, SP-3, SP-2, SP-1, SP X,Y,R,G,B,S
var JMP = 0x000C; // (MEMLOC)
var JSR = 0x000D; // (MENLOC) {ALSO SAVES CUR PC TO PCRET}
var RTS = 0x000E;
var CMPEQ = 0x000F;
var CMPNEQ = 0x0010;
var CMPGT = 0x0011;
var CMPGE = 0x0012;
var CMPLT = 0x0013;
var CMPLE = 0x0014;
var BIP = 0x0015;
var HALT = 0xFFFF;
//MOVRM
//MOVMR

function setup() {
    createCanvas(w,h);
    valset();
    //memory(2) = 99;
    var program = ( CLRST, 
            PUSH, 1, 
            PUSH, 1, 
            PUSH, 255, 
            PUSH, 0, 
            PUSH, 5, 
            PUSH, 3,
            DRAW, 
            CLRST, 
            PUSH, 1, 
            PUSH, 1, 
            PUSH, 0, 
            PUSH, 255, 
            PUSH, 5, 
            PUSH, 3,
            DRAW, 
            JMP, 600
            )
    for(var i=0; i < program.length; i++){
        memory(i + 600) = program(i);
    }
 background(0);
}

function valset(){
    SP = -1;
    PC = 600;
    PCRET = 600;
    memory = ();
    for(i=0;i<0xffff;i++){
        memory.push(0x0);
    }

2013 – How to listen for an Infopath submit dialog in Sharepoint using Javascript

I know I shouldn’t be using Infopath. I don’t have a choice. We’re not in a new Sharepoint environment yet and we don’t have PowerApps yet. It will happen and we’ll have to redo all of this but we need Infopath in the meantime.

I created an infopath form attached to a form library because the user wanted to be able to add multiple attachments and that wasn’t possible with the list form. We needed to add custom scripting behavior to the form submit page but we couldn’t edit the existing form submit page that Sharepoint creates by default for the library so we created a new page and added the form and a script editor webpart for the Javascript.

My user wants the form to go to the list when she pushes the save button. Its set to close in infopath but currently it does nothing, the form just sits there. I have some say over what is in the query string and I heard that if you put Source= that the submit button will take you to the source URL when the submit is done but I’m not sure that’s going to work for my page. I haven’t tested it yet.

What I need to know is, using Javascript, how do I listen for positive confirmation that an infopath form successfully submitted to a Sharepoint library? In case I need to write a script to do this.

Please I know this is all an ugly hack but its what I have to work with. My tools are Javascript, Sharepoint (and only the front end) and Infopath.

javascript – Ordenando vetores com Bubble Sort

Olá!

Estou resolvendo uma questão do meu curso a qual eu preciso usar um algoritmo de ordenação de vetores com base no algoritmo Bubble Sort. Fazendo um resumo prévio, a lógica consiste em passar por todos os valores do array, em pares, comparando um ao outro e verificando qual é maior. O número maior sempre irá para a direita, trocando com o valor menor, passando assim sempre o maior número para a extrema direita. Após passar por todos os números do vetor e ordenar a primeira vez, o laço de repetição se repete pela quantidade de números do array até ordenar todos os valores.

Eu escrevi esse código e ele está funcional:

let bubble = (82, 76, 6, 52, 45, 38, 24, 14, 54, 85, 143, 98, 65, 512, 96, 12, 4, 79);

function bubbleSort () {
    for (let i = 0; i < bubble.length; i++) {
        if (bubble(i) > bubble(i +1)) {
            let v1 = bubble(i)
            let v2 = bubble(i +1) 
            bubble(i) = v2
            bubble(i +1) = v1
        }
    }
}

for (let j = 0; j < bubble.length ; j++) {
    bubbleSort();
}

console.log(bubble)

saída do código:

(
   4,  6,  12,  14, 24, 38, 45,
  52, 54,  65,  76, 79, 82, 85,
  96, 98, 143, 512
)

Como ainda estou aprendendo, gostaria de saber como eu poderia refatorar o código para que eu não precisasse usar uma function para fazer a segunda repetição do laço. Tentei colocar for dentro de for mas ele acabou me retornando undefined quando imprimo a saída no console. Podem me dar dicas para que o código fique mais legível e simples? Ainda não aprendi sobre Obrigado desde já!