spfx webparts – get user currently logged in to SP list

this solution can help you get the display name of the current user when you click the button

public _getCurrentUser(): void{
if (Environment.type == EnvironmentType.SharePoint || Environment.type == EnvironmentType.ClassicSharePoint) {
  let User = this.context.pageContext.user.displayName;
  let html: string = '';
  html = `
  • ${User}
`; const listContainer: Element = this.domElement.querySelector('#SPList'); listContainer.innerHTML = html; } } private _setButtonEventHandlers(): void { const webPart: UserClickWebPart = this; this.domElement.querySelector('#GetUser').addEventListener('click', () => { this._getCurrentUser(); });} public render(): void { this.domElement.innerHTML = `
Welcome to SharePoint!

Customize SharePoint experiences using Web Parts.


`; this._setButtonEventHandlers();}

php – Recursive speculative display list engine – calculating text length across stack limits

Well, I've been hammering on it for about a week without any practical progress because I can't find mental fluency with the concepts I'm trying to debate. I am officially puzzled and would humbly appreciate any insight.

Some minimal information: for several years, I have been using my own little PHP introspection assistant (CLI only) which provides a d() alternative to print_r() or var_dump(). It includes the colorization of types (using the 256 color palette of xterm) and the literalization of arguments (d($a) could show $a: "hi"), and among other interesting features, a (many) More compact outlet layout.

My problem

My question is how the layout system decides how to present the nested elements. If I have an entry like

$a = (
  "abcde", "fghij", "klmno", "pqrst"


I will get something like

  (test:3) $a: ("abcde", "fghij", "klmno", "pqrst")

but if I were to add a little array in the middle that would make the output too long for a row, the output could change to

  (test:3) $a: (
    (1, 2, 3, 4, 5),

It’s really nice and seriously put away what PHP would produce mixed with a * very * large portion of line breaks.

In the example above, you may notice that the outer array expands in multiline mode because it would (rightly) be too long for the row, while the inner array remains in compact mode because it ( also rightly) will adapt very well.

I don't know if the way I did it was probably terrible or probably viable: each dump_* the function would re-execute speculatively in a supposed non-multiline mode, with magic $len_test switch my internal output buffer system to length measurement mode. Then the magic $len The value would contain the amount of output data, and I could just check if it was too long.

Like that:

function dump_string(...) {

  if (!self::$len_test) {     // length test?
    self::$len_test = true;   // if not, enable
    self::dump_string(...);   // and re-execute ourselves
    $multiline = (self::$len > LINE_LIMIT);
    self::$len_test = false;  // this is the outer scope; go back to
                              // text-buffering mode now
  } else {
    $multiline = false;       // test length assuming no newlines etc
                              // (this is the recursive/inner scope)



This method had two problems.

First, not only properties, getter functions, etc. were accessed twice, but the objects were instantiated inconsistently due to the recursive internal function while the references were held by the external context. (To add a funny entropy, this would only happen until the function realized that it had emitted too much output and bailed out.) spl_object_id() to return generally confused and imprecise results.

Second, the recursion of the function made the reference recursion detection elsewhere in my code become indelible, because it essentially had to do the recursion detection through its own recursion limits.

I have found a solution to both problems which moves the logic "is it too long" in the output layer and allows dump_* functions to access each value / getter / property precisely once … but this introduces a huge problem in itself – it limits is-this-block-too-long analysis to discrete blocks in a way that does not take into account the existing content of a given line, in particular the (sometimes) large amounts of filling that the lines can contain.

In the following example,

  (test:3) $a: (

my new approach only takes into account the duration of & # 39; aaaa … & # 39; without taking into account the padding at the start of the line. This line should absolutely be wraparound, but when it comes to the new logic, there is no need to do so as it is blind to the padding.

This is what I am officially puzzled about.

My partial solution

You may want to snap a crack when reasoning through the problem space before continuing reading.

To sum up a long story, over about 4 days of very slow progression of mental visualization (I had absolutely no idea how to visualize all of this on the computer) I suggested the following.

i have a out() that accepts text, stack depth and display mode (-1 = always print, 0 = print only if do not in multiline mode, 1 = only multiline). I feed this function all the text i want to present for single-line and multi-line modes. This function adds to a display list like this:

  ( 0, -1, "  (test:3) $a: (" ), # always print           | 16  0  (lengths,
  ( 0,  0, " "                ), # only single-line       | -      explained
  ( 0,  1, "n    0:"         ), # only multiline         | 23  0  below)
  ( 1, -1, "'abc'"            ), # always print (level 1) | 28  5
  ( 0,  0, " "                ), # only single-line       | -
  ( 0,  1, "n  "             ), # multiline              | 31
  ( 0, -1, ")"                ), # always                 | 32

If only -1 and 0 parts of the above have been printed, you will get

  (test:3) $a: ( 'abc' )

whereas if only -1 and 1 parts have been printed you will get

  (test:3) $a: (

Next, I cycle through the display list, keeping a running total of text length for a single line (0) and exit anyway (-1) modes, by stack depth, and let the calculated length cascade down the stack depth chain. So in the example above, the length at depth 0 is 27 but is counted as 32 because it contains depth 1, which has length 5. This allows me to directly examine the lengths of text by stack depth and set a multiline flag for the most outside. stack depth that exceeds the limit. Going back to the above example with nested arrays, this causes the outer array to become multiline while the inner one does not. To win.

The last piece of this puzzle is that the text is only sent in multiline mode or if I put a forced rinse indicator (which I use just before my dump() routine outings). Anytime out() is called with a depth argument whose multiline mode is defined, this text is output immediately. This allows the display list to have a very small buffer: it only buffers a few KB of data at most, which was a critical requirement.

Unfortunately, I see no viable way in this model to factor in padding in length calculations. I do not know either outraged this model would also work.

The way I reason on this model makes no difference between



( n ( n ( n abcde n ) n ) n )

he just looks at the depths of the pile then activate a text that happens to be a fill as a side effect of the text in a particular scope being too long.

(Note that I add the padding with the mode 1, which is deliberately not taken into account in length calculations like this always be taken into account, for all stack depths.)

As you can see in the way I wrote about it, this type of logic is very foreign and unfamiliar to me; I don't really know what I'm doing. If there is anything I can clarify, let me know. And if there are resources I can chew on to (hopefully) cause my brain to develop / develop in ways that would be helpful in better understanding this kind of thing, I'd love to hear about it. !

list – Asyncstorage with Dynamic Keys + It does not save anything

I am trying to make a list where the user sees all the keys that he has saved in the application and when he clicks on it, the predefined load that he has created based on the key occurs.
I get the error:
TypeError: Attempt to read-only property assing

    state ={
        dateiName: 'Mrx',
        dateiDatum: '',
        dateiAuto: '',

        dateien: (),
        dateiselected: '',
        arr: ()

    async componentDidMount() {

        var listData = ();
        let keys = await AsyncStorage.getAllKeys();
        keys.forEach(async function(inKey) {
          const person = await AsyncStorage.getItem(inKey);
          person.key = inKey;

        this.setState({arr: listData})


     saveData(nome) {
        var nomeKey = nome


    displayData = async () => {
            const keys = await AsyncStorage.getAllKeys();
            return keys
        catch(error) {

    removeData = async () => {
        try {
          await AsyncStorage.clear()
          alert('Storage successfully cleared!')
        } catch (e) {
          alert('Failed to clear the async storage.')


        return (

//aqui vem algumas coisas irrelevantes antes



                                        //keyExtractor={item => item.id}


list manipulation – Stop the evaluation of the table (parallel) when the sought case is found

I have to go through a long list of assessments, for which I guess Table instead of For or While is the right way to go and in fact i'm using ParallelTable to speed it up. But only the first on the list meeting a certain condition is necessary. In order to save time, how can I stop the evaluation once the first result has been found?

A minimal example could be: try to find the 100th prime number (count==100 as a condition). Certainly, this specific example probably has other approaches. I need a general recipe described above.

count = 0;
Table(count += If(PrimeQ(i), 1, 0);, {i, 1000});

How to integrate a Google spreadsheet with only cells and a list of sheets?

This answer shows how to hide the user interface and the sheet list by adding rm=minimal to the URL.

Is there a way to hide the user interface, but not the sheet list?

I want to insert the spreadsheet on another page with an iframe. The top bar makes absolutely no sense in this scenario because no one is going to edit the spreadsheet in this tiny iframe. But the list of files remains a necessity to access the information.

One way to get it?

Socks5 proxy service Cheap Socks5SOCKS proxy list by Tisocks.net If y

SOCKS proxy list by Tisocks.net
If you need Socks5, please visit the service and add funds via PM, BTC WMZ. Thank you all !!
Add a fund: https://tisocks.net/addfund
Check socks5 online here: https://checksocks5.com
LIVE | | 1.241 | SOCKS5 | Unknown | Unknown | | Unknown | Checked on https://tisocks.net
LIVE | | 0.301 | SOCKS5 | California | 90014 | | United States | Checked on https://tisocks.net
LIVE | | 0.212 | SOCKS5 | Kansas | 67037 | ip68-103-241-246.ks.ok.cox.net | United States | Checked on https://tisocks.net
LIVE | | 0.153 | SOCKS5 | Illinois | 60119 | 173-25-204-93.client.mchsi.com | United States | Checked on https://tisocks.net
LIVE | | 0.245 | SOCKS5 | Arizona | 85260 | ip-184-168-146-10.ip.secureserver.net | United States | Checked on https://tisocks.net
LIVE | | 0.141 | SOCKS5 | New Hampshire | 03255 | h69-130-165-8.cntcnh.dsl.dynamic.tds.net | United States | Checked on https://tisocks.net
LIVE | | 1,375 | SOCKS5 | Unknown | Unknown | tor1e1.digitale-gesellschaft.ch | Unknown | Checked on https://tisocks.net
LIVE | | 0.5 | SOCKS5 | Texas | 77433 | Georgia Public Website | United States | Checked on https://tisocks.net
LIVE | | 0.132 | SOCKS5 | New Jersey | 08021 | c-73-197-80-152.hsd1.nj.comcast.net | United States | Checked on https://tisocks.net
LIVE | | 1,332 | SOCKS5 | Unknown | Unknown | LeaseWeb Netherlands B.V. | Netherlands | Checked on https://tisocks.net
LIVE | | 0.907 | SOCKS5 | California | 92821 | accomack.dreamhost.com | United States | Checked on https://tisocks.net
LIVE | | 1.403 | SOCKS5 | California | 92821 | birkenfeld.dreamhost.com | United States | Checked on https://tisocks.net
LIVE | | 0.517 | SOCKS5 | Kentucky | 41001 | dsl-208-102-51-6.fuse.net | United States | Checked on https://tisocks.net
LIVE | | 0.893 | SOCKS5 | Bavaria | 81549 | www.yeastconsulting.eu | Germany | Checked on https://tisocks.net
LIVE | | 0.3 | SOCKS5 | California | 90014 | | United States | Checked on https://tisocks.net
LIVE | | 1,293 | SOCKS5 | California | 92821 | nyssa.dreamhost.com | United States | Checked on https://tisocks.net

Reviewed by tisocks sure
[Tisocks.net] – Socks5 proxy service List of inexpensive Socks5SOCKS proxies by Tisocks.net If y
SOCKS proxy list by Tisocks.net
If you need Socks5, please visit the service and add funds via PM, BTC WMZ. Thank you all !!
Add a fund: https://tisocks.net/addfund
Check socks5 online here: https://checksocks5.com
LIVE | | 1.241 | SOCKS5 | Unknown | Unknown | | Unknown | Checked on https://tisocks.net
LIVE | | 0.301 | SOCKS5 | California | 90014 | | United States | Checked on https://tisocks.net

Evaluation: 5


workflow – Calculated column that checks if a value from this row is in another list

I am trying to understand the share point equivalent to the following SQL statement:

UPDATE List1, List2 SET List1.Field2 = List2.Field2
WHERE List1.Field1 = List2.Field2;

Or the Excel version:


I use share point lists as data storage with a Microsoft Access file as the user interface. I have the above SQL statement saved as a query in Access, but the execution of update queries from Access is very slow due to bad conditions of network and lists containing a large number of records. I don't know how to achieve this in such a way that the end user does not directly modify the share point lists. Thank you.

applications – How can I remove an item from the list that is present in the main activity of another activity?

this is my main activity

class MainActivity: AppCompatActivity () {

// Array of strings...
private val simpleList: ListView by lazy { findViewById(R.id.simpleListView) }

/**To read array of user json file from device*/

private val objectMapper = jacksonObjectMapper ()
private val userList: Array =
objectMapper.readValue (File ("/ data / data / com.bridgelabs.userlist / files / user.json"))

/**To obtain the position of list view */
var listPosition : Int = 0

override fun onCreate(savedInstanceState: Bundle?) {

    /**To get user names into array list of userNames */
    val userNames = ArrayList()
    for (user in userList) {

    /**To hold list of user names*/
    val arrayAdapter = ArrayAdapter(
        user_name, userNames
    simpleList.adapter = arrayAdapter

    simpleList.onItemClickListener =
        AdapterView.OnItemClickListener { parent, view, position, id ->

            // Getting userList click value into String variable.
            // Getting userList click value into String variable.
            val userListViewClickedValue: User = userList(position)
            Log.d("User", userListViewClickedValue.toString())
            listPosition = position

            val displayActivityIntent = Intent(this, DisplayActivity::class.java).apply {
            Toast.makeText(this, userList(position).toString(), Toast.LENGTH_SHORT).show()


// This is where I use the Delete button to do an action
class DisplayActivity: AppCompatActivity () {

override fun onCreate(savedInstanceState: Bundle?) {

    val editUserName = findViewById(R.id.user_name)
    val nameHolder = intent.getSerializableExtra("UserInfo") as User

    val editUserNumber = findViewById(R.id.user_number)
    val numberHolder = intent.getSerializableExtra("UserInfo") as User

    val deleteButton  = findViewById


List all local Firefox storage for all sites

Looking at local storage in the Firefox developer console, it appears that only site storage in the current tab is displayed.

How can i see a list of all local Firefox storage for all sites in one view?

list manipulation – How to use the map in Select


Select(Range(10), 2 <= # <= 5 || 8 <= # <= 10 &)


{2, 3, 4, 5, 8, 9, 10}

In case I have a lot of conditions, I want to have them defined separately like this:


cond = {{2, 5}, {8, 10}};
Or @@ (#((1)) <= q <= #((2)) & /@ cond)


2 <= q <= 5 || 8 <= q <= 10

How to combine my first entry with my second entry to have all the code in my formula?