Как получить значение встроенного углового текстового поля javascript в pyspark - PullRequest
1 голос
/ 24 июня 2019

У меня есть указатель диапазона дат внутри zeppelin %pyspark интерпретатор, как показано ниже:

 print("""%angular

 <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
 <script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
 <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<input type="text" name="datetimes" />

<script>
$(function() {
  $('input[name="datetimes"]').daterangepicker({
    timePicker: true,
    startDate: moment().startOf('hour'),
    endDate: moment().startOf('hour').add(32, 'hour'),
    locale: {
      format: 'M/DD hh:mm A'
    }
  });
});
</script>
""")

Я не знаю, как получить значение, выбранное внутри daterangepicker в %pyspark интерпретатор

1 Ответ

1 голос
/ 26 июня 2019

Как уже упоминалось в комментариях, в настоящее время он работает только с интерпретатором spark scala.Я использовал ваш код, чтобы получить и установить значение вашего указателя даты, но я должен признать, что он не был стабильным (иногда он работал, а иногда нет).Я не уверен, что для обработки начальных значений требуются дальнейшие изменения в вашем указателе даты, так как я не имею ни малейшего представления об Angluar или если угловой интерфейс zeppelin backend API еще не готов к работе.Может быть, вы или кто-то еще можете понять это, основываясь на моем подходе.

Одна важная вещь, которую вы должны сделать, - это связать переменную и добавить атрибут ng-model к тегу, который вы хотите связать.

z.angularBind("choice", "6/04 03:00 AM - 6/23 11:00 AM")
println("""%angular

 <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
 <script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
 <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<input type="text" name="datetimes" ng-model="choice"/>

<script>
$(function() {
  $('input[name="datetimes"]').daterangepicker({
    timePicker: true,
    startDate: moment().startOf('hour'),
    endDate: moment().startOf('hour').add(32, 'hour'),
    locale: {
      format: 'M/DD hh:mm A'
    }
  });
});
</script>
""")

Вы можете получить значения в другом абзаце% spark с помощью:

println(z.angular("choice"))
//6/04 03:00 AM - 6/25 12:00 AM
...